public override void DataBind()
        {
            if (null == this.Field)
            {
                return;
            }

            if (!this.IsNew)
            {
                MoveUpButton.Visible   = true;
                MoveDownButton.Visible = true;
                FormBuilderField_DeleteButton.Visible = true;
            }

            Options_td.Visible = FormBuilder_Field.IsOptionsFieldType((FormBuilder_Field.FieldType)Field.Type);

            FieldName.Text          = this.Field.Name;
            FieldTypesList.Text     = this.Field.Type.ToString();
            IsFieldRequired.Checked = this.Field.IsRequired;
            FieldWidth.Text         = this.Field.Width.ToString();
            FormBuilderFieldOption_edit1.FieldOptions = this.Field.GetFieldOptions();
            FormBuilderFieldOption_edit1.DataBind();

            base.DataBind();
        }
        protected void FormBuilderField_SaveButton_Click(object sender, EventArgs e)
        {
            int typeId = int.Parse(FieldTypesList.Text);

            FormBuilderDataContext dc    = new FormBuilderDataContext();
            FormBuilder_Field      field = (from f in dc.FormBuilder_Fields
                                            where f.Id == this.FieldId
                                            select f).FirstOrDefault();

            if (field == null)
            {
                field = new FormBuilder_Field();

                field.ModuleId = this.ModuleId;

                var maxSortOrder = (from f in dc.FormBuilder_Fields
                                    where f.ModuleId == field.ModuleId
                                    orderby f.SortOrder descending
                                    select f.SortOrder).FirstOrDefault();
                field.SortOrder = maxSortOrder + 1;

                dc.FormBuilder_Fields.InsertOnSubmit(field);
            }
            else
            {
                field = (from f in dc.FormBuilder_Fields
                         where f.Id == this.FieldId
                         select f).Single();
            }


            field.Name = FieldName.Text.Trim();
            field.Type = typeId;
            field.SetFieldOptions(FormBuilderFieldOption_edit1.FieldOptions);
            field.IsRequired = IsFieldRequired.Checked;
            field.Width      = string.IsNullOrEmpty(FieldWidth.Text) ? null : (int?)int.Parse(FieldWidth.Text);
            dc.SubmitChanges();

            if (this.IsNew)
            {
                Bss.Web.UI.UITool.Clear(this);
                FormBuilderFieldOption_edit1.FieldOptions.Clear();
                FormBuilderFieldOption_edit1.DataBind();
                Msg.ShowSuccess(string.Format("Added the '{0}' field to the form.", field.Name));
                SetReloadFlag(true);
            }
            else
            {
                if (field.SortOrder <= 1)
                {
                    FormBuilder_Field.MoveUp(field.Id);
                }
                Msg.ShowSuccess(string.Format("Saved the '{0}' field settings.", field.Name));
            }
        }