我需要触发动态创建的下拉列表的Selectedindexchanged事件。 我在aspx页面中没有代码。所有代码都在代码隐藏中。
DropDownList objdropDown = new DropDownList();
objdropDown.EnableViewState = true;
objdropDown.AutoPostBack = true;
//objdropDown.AutoPostBack = true;
//objdropDown.SelectedIndexChanged += new EventHandler(objdropDown_SelectedIndexChanged);
protected void objdropDown_SelectedIndexChanged(object sender, EventArgs e)
{
//My code here
}
选择随机项drom Dropdownlist后,它会回发,但下拉控件不可见。我在这做错了什么?代码会有所帮助。谢谢!
答案 0 :(得分:2)
因为代码是在其后面的代码中生成的,所以在回发之间不会持久化,除非您每次都显式地重新创建它(可能在Page_Load中)。 但是,您可能必须跟踪您选择的项目,并在回发后每次重新生成后将其设置为选中。
答案 1 :(得分:2)
您需要创建下拉列表&在pageInit中提前绑定事件。然后将意识到能够参与回发过程&为selectedindexchange举起活动。
PageLoad迟到,因为已经发生了回发处理。看看这个:http://msdn.microsoft.com/en-us/library/ms178472.aspx
答案 2 :(得分:0)
您是否将新创建的DropDownList添加到页面上的父容器并将其可见性设置为可见?
答案 3 :(得分:0)
我遇到与此相同的问题,只是想与其他人分享我的决议。请确保
我的问题与回发后更改动态控件ID有关。在确保所有帖子后面的控件ID相同后,我的问题得以解决。