【发布时间】:2015-01-05 19:24:27
【问题描述】:
我有
几个动态下拉菜单
附加了选定的索引更改事件,但是一旦第一次触发索引更改事件并且回发完成后,它们会丢失该索引更改事件,但不会丢失项目值
所以它保存下拉列表的状态但不附加 回发时选择的索引更改事件。
AspxPage:
<div>
<asp:PlaceHolder ID="mp_1" runat="server"></asp:PlaceHolder>
</div>
C#:
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Init(object sender, EventArgs e)
{
}
private void ddl_IndexChanged(object sender, EventArgs e)
{
Response.Write("dsfsdf");
}
protected void Page_Load(object sender, EventArgs e)
{
DropDownList ddl_1 = new DropDownList();
ddl_1.ID = "ddl_1";
ddl_1.AutoPostBack = true;
ddl_1.EnableViewState = true;
ddl_1.SelectedIndexChanged += new EventHandler(ddl_IndexChanged);
this.mp_1.Controls.Add(ddl_1);
if(!IsPostBack)
{
DropDownList ddl_1 = (DropDownList)Page.FindControl("ddl_1");
if (ddl_1 != null)
{
List<ListItem> items = new List<ListItem>();
items.Add(new ListItem("Item 2", "Value 2"));
items.Add(new ListItem("Item 1", "Value 1"));
items.Add(new ListItem("Item 3", "Value 3"));
ddl_1.Items.AddRange(items.ToArray());
}
}
}
}
【问题讨论】:
-
如果您的控件在回发时不存在,它们无法命中事件处理程序,请删除
if(!Page.IsPostBack)并尝试