using System; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using CMS.FormControls; using CMS.GlobalHelper; public partial class CMSFormControls_Captcha_CaptchaSelector : FormEngineUserControl { #region "Variables" private string mSelectCaptcha = string.Empty; private bool mReloadDataOnPostback = true; #endregion #region "Properties" /// /// Gets or sets the enabled state of the control. /// public override bool Enabled { get { return base.Enabled; } set { base.Enabled = value; drpSelectCaptcha.Enabled = value; } } /// /// Gets or sets field value. /// public override object Value { get { return ValidationHelper.GetString(drpSelectCaptcha.SelectedValue, string.Empty); } set { mSelectCaptcha = ValidationHelper.GetString(value, string.Empty); ReloadData(); } } /// /// Indicates whether enable dropdown list autopostback. /// public bool AllowAutoPostBack { get { return drpSelectCaptcha.AutoPostBack; } set { drpSelectCaptcha.AutoPostBack = value; } } /// /// Indicates whether data should be reloaded on PostBack. /// public bool ReloadDataOnPostback { get { return mReloadDataOnPostback; } set { mReloadDataOnPostback = value; } } /// /// Returns ClientID of the DropDownList with badword action. /// public override string ValueElementID { get { return drpSelectCaptcha.ClientID; } } #endregion #region "Methods" protected void Page_Load(object sender, EventArgs e) { } /// /// Returns true if user control is valid. /// public override bool IsValid() { return true; } protected override void CreateChildControls() { base.CreateChildControls(); if ((RequestHelper.IsPostBack() && ReloadDataOnPostback) || !RequestHelper.IsPostBack()) { ReloadData(); } } /// /// Loads drop down list with data. /// public void ReloadData() { // Reload dropdown list drpSelectCaptcha.ClearSelection(); if (drpSelectCaptcha.Items.Count == 0) { drpSelectCaptcha.Items.Add(new ListItem(GetString("captcha.simple"), (((int)CaptchaEnum.Default)).ToString())); drpSelectCaptcha.Items.Add(new ListItem(GetString("captcha.logic"), (((int)CaptchaEnum.Logic)).ToString())); drpSelectCaptcha.Items.Add(new ListItem(GetString("captcha.text"), (((int)CaptchaEnum.Text)).ToString())); } // Preselect value if (drpSelectCaptcha.Items.Count != 0) { ListItem selectedItem = drpSelectCaptcha.Items.FindByValue(mSelectCaptcha); if (selectedItem != null) { selectedItem.Selected = true; } else { drpSelectCaptcha.SelectedIndex = 0; } } } #endregion }