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
}