动态生成DropDownList的问题.
页面上有一个按钮 bnt
点击后动态生成一个DropDownList
- C# code
DropDownList ddl = new DropDownList();ddl.ID = "d1";ddl.AutoPostBack = true;ddl.SelectedIndexChanged += new EventHandler(ddl_SelectedIndexChanged);ddl.Items.Add(new ListItem("a","1"));ddl.Items.Add(new ListItem("b","2")); Panel1.Controls.Add(ddl)ddl_SelectedIndexChanged事件
- C# code
protected void ddl_SelectedIndexChanged(object sender, EventArgs e) { DropDownList ddl = (DropDownList)sender;Response.Write(ddl.SelectedValue); }现在问题是:选中后(比如先ddl的b选项),事件没反应.哪里错了?
[解决办法]
你要明白一点,页面一旦刷新,整个页面控件都要开始重绘,也就是说原先固定在页面上的慢慢的开始解析,然而你动态添加的,是不会重绘的,只不过是临时的局部变量,除非你在重写页面的重绘事件
本来一个简单的问题,非要搞那么复杂,至少我觉得当你觉得很难实现时或者非常复杂时,只能说明,你选错了方向,设计有问题或者需求不合理