Asp.net 动态下拉列表控件不支持';t触发Selectedindexchanged事件

Asp.net 动态下拉列表控件不支持';t触发Selectedindexchanged事件,asp.net,events,drop-down-menu,selectedindexchanged,Asp.net,Events,Drop Down Menu,Selectedindexchanged,我需要触发动态创建的dropdownlist的Selectedindexchanged事件。 我在aspx页面中没有代码。所有代码都在代码隐藏中 DropDownList objdropDown = new DropDownList(); objdropDown.EnableViewState = true; objdropDown.AutoPostBack = true; //objdropDown.AutoPostBack =

我需要触发动态创建的dropdownlist的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后,将进行回发,但下拉控件不可见。我做错了什么?代码会很有帮助。谢谢

是否将新创建的DropDownList添加到页面上的父容器并将其可见性设置为可见?

是否将新创建的DropDownList添加到页面上的父容器并将其可见性设置为可见?

因为代码是在其后面的代码中生成的,在回发之间不会持久化,除非每次都显式地重新创建它(可能是在页面加载中)。
但是,您可能必须跟踪您选择的项目,并在每次回发时将其设置为在每次重新生成后选择的项目。

因为代码是在代码中生成的,所以在回发之间不会保留该项目,除非您每次都显式地重新创建它(可能是在页面加载中)。
但是,您可能需要跟踪您选择的项目,并在每次回发时重新生成后将其设置为已选择。

您需要在pageInit中创建下拉列表并提前绑定事件。然后,它将知道您可以参与回发过程并为selectedindexchange引发事件


由于已进行回发处理,页面加载将延迟。看看这个:

您需要在pageInit中创建下拉列表并提前绑定事件。然后,它将知道您可以参与回发过程并为selectedindexchange引发事件


由于已进行回发处理,页面加载将延迟。看看这个:

我也有同样的问题,只是想和其他人分享我的解决方案。请确保

  • 下拉控件ID在所有post Back中都是相同的(最好将其设置为安全的)
  • 在page_Init事件中创建动态下拉列表

我的问题与回发后更改的动态控件ID有关。我的问题在确保控件ID在所有回发中都相同后得到解决

我也有同样的问题,我只是想和其他人分享我的解决方案。请确保

  • 下拉控件ID在所有post Back中都是相同的(最好将其设置为安全的)
  • 在page_Init事件中创建动态下拉列表

我的问题与回发后更改的动态控件ID有关。我的问题在确保控件ID在所有回发中都相同后得到解决

事件处理程序代码在这里实际上没有注释。我不应该在创建控件后立即添加它吗?事件处理程序代码在这里实际上没有注释。我是否应该在创建控件后立即添加它?