日期:2014-05-17  浏览次数:20472 次

动态生成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选项),事件没反应.哪里错了?

------解决方案--------------------
你要明白一点,页面一旦刷新,整个页面控件都要开始重绘,也就是说原先固定在页面上的慢慢的开始解析,然而你动态添加的,是不会重绘的,只不过是临时的局部变量,除非你在重写页面的重绘事件

本来一个简单的问题,非要搞那么复杂,至少我觉得当你觉得很难实现时或者非常复杂时,只能说明,你选错了方向,设计有问题或者需求不合理