usercontrol中的Asp.NET下拉列表未触发SelectedIndexChanged事件

时间:2010-02-25 14:43:00

标签: asp.net vb.net drop-down-menu user-controls selectedindexchanged

Asp.Net 2.0 framewrok - VB.Net应用程序 我有一个包含Asp.Net DropDownList的UserControl。

已研究和/或尝试过的事情:

  • 如果不是Page.IsPostBack(仅加载一次),控件就会绑定到页面加载内的数据
  • 为控件设置ID proprety(ID = ddlMyControl)
  • AutoPostBack设置为true
  • 控件上的EnableViewState设置为true
  • UserControl声明中的AutoEventWireUp设置为true
  • 在父页面中将EnableEventValidation设置为false

无论我做什么,控件都不会触发它的SelectedIndexChanged事件。帮助!!

谢谢:)

6 个答案:

答案 0 :(得分:4)

我遇到了类似的问题,因为我将AutoPostBack =“true”排除在控件定义之外。在您的原始帖子中,您说过您已尝试过但发布的代码:

<uc3:TheControl ID="ucMyControl" runat="server" />

不反映AutoPostBack属性。我把它添加到我的,它解决了我的问题。希望有所帮助。

答案 1 :(得分:1)

我知道现在已经很晚了,但我认为它会帮助那些遇到同样问题的人。

我假设您要触发已经绑定了某些数据的SelectedIndexChanged的{​​{1}}事件!
例如[C#]

DropDownList

我假设您使用的是asp.net(最新版本)..也许是4.0。

答案 2 :(得分:0)

“周围”页面怎么样?您可以在另一个页面中尝试使用UserControl吗?

如何添加事件处理程序? 你如何包括使用控制? (当通过代码时,可能会迟到?)

可能你可以展示一些代码;-)

答案 3 :(得分:0)

UserControl未动态加载,但在设计时在页面的HTML中添加到父页面

<uc3:TheControl ID="ucMyControl" runat="server" />

事件处理程序编写在UserContorl本身的代码中 - 标准内容:

 Protected Sub ddlMyThing_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlMyThing.SelectedIndexChanged
    'Do event stuff here.
End Sub

答案 4 :(得分:0)

您是否设置了ddl的onselectedindexchanged="ddlMyThing_SelectedIndexChanged"属性?

答案 5 :(得分:0)

我认为您需要将EnableEventValidation设置为True。

检查一下。

http://www.experts-exchange.com/Programming/Languages/.NET/ASP.NET/Q_22405007.html

希望这有帮助。

谢谢,

拉​​加