【发布时间】:2014-05-13 17:21:08
【问题描述】:
我有一个带有 AutoPostBack = true 的 DropDownList 的用户控件,我还有一个用于显示此控件的 aspx 页面。
我在页面的 OnInit 方法中重新创建用户控件
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
var list = (List<Control>)Session[Controls];
if (list != null)
{
foreach (var control in list)
{
var uc = (Control)LoadControl(ControlPath);
uc.SetDropDownState(control.state);
PlaceHolderQuestion.Controls.Add(uc);
}
}
}
所以在重新创建时我正在恢复 DropDown 选择,它是第一次工作,但是当我再次更改选择时,OnSelectedIndexChanged 事件不会触发,这很明显,因为我首先在 OnInit 中恢复 DropDown 选择,因此没有 OnSelectedIndexChanged 事件,因为没有任何改变,您能提出一些解决方法吗?
更新
var uc = (Control)LoadControl(ControlPath); 需要保留用户控制事件
【问题讨论】:
标签: c# asp.net drop-down-menu user-controls dynamic-usercontrols