using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CMS.FormControls;
public partial class CMSModules_Newsletters_FormControls_NewsletterTemplateSelector : FormEngineUserControl
{
#region "Properties"
///
/// Gets or sets the enabled state of the control.
///
public override bool Enabled
{
get
{
return uniNewsletterTemplate.Enabled;
}
set
{
uniNewsletterTemplate.Enabled = value;
}
}
///
/// Gets or sets field value.
///
public override object Value
{
get
{
return uniNewsletterTemplate.Value;
}
set
{
EnsureChildControls();
uniNewsletterTemplate.Value = value;
}
}
///
/// Gets or sets WHERE condition.
///
public string WhereCondition
{
get
{
return uniNewsletterTemplate.WhereCondition;
}
set
{
uniNewsletterTemplate.WhereCondition = value;
}
}
///
/// Allows to set AutoPostBack property to simple-select drop down list.
///
public bool AutoPostBack
{
private get;
set;
}
///
/// 'On selection changed' event.
///
public event EventHandler OnSelectionChaned;
#endregion
#region "Methods"
protected void Page_Load(object sender, EventArgs e)
{
uniNewsletterTemplate.OrderBy = "TemplateDisplayName";
if ((uniNewsletterTemplate.DropDownSingleSelect != null) && (AutoPostBack))
{
// Allow auto-postback to dropdown list and register event handler
uniNewsletterTemplate.DropDownSingleSelect.AutoPostBack = AutoPostBack;
uniNewsletterTemplate.OnSelectionChanged += new EventHandler(uniNewsletterTemplate_OnSelectionChanged);
ScriptManager pageScriptManager = ScriptManager.GetCurrent(Page);
if (pageScriptManager != null)
{
// Register dropdown list as a trigger for postback (selector uses update panel by default)
pageScriptManager.RegisterPostBackControl(uniNewsletterTemplate.DropDownSingleSelect);
}
}
}
protected void uniNewsletterTemplate_OnSelectionChanged(object sender, EventArgs e)
{
// Update selected value and raise event
Value = uniNewsletterTemplate.DropDownSingleSelect.SelectedValue;
if (OnSelectionChaned != null)
{
OnSelectionChaned(sender, e);
}
}
///
/// Reloads the selector's data.
///
/// Indicates whether data should be forcibly reloaded
public void Reload(bool forceReload)
{
uniNewsletterTemplate.Reload(forceReload);
}
#endregion
}