3

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

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

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

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

谢谢 :)

4

6 回答 6

4

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

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

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

于 2011-07-17T23:38:18.033 回答
1

我知道已经很晚了,但我认为它会帮助其他面临同样问题的人。

我假设你想触发已经绑定了一些数据的SelectedIndexChanged事件! 例如 [C#] DropDownList

ddlMyDropDown.DataSource = listOfCustomers;
ddlMyDropDown.DataTextField = "CustomerName";
ddlMyDropDown.DataValueField = "CustomerID";
ddlMyDropDown.DataBind();
ddlMyDropDown.CauseValidation = false;

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

于 2011-07-08T08:39:30.893 回答
0

“周边”页面呢?您可以在另一个页面中尝试您的 UserControl 吗?

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

也许你可以显示一些代码;-)

于 2010-02-25T15:33:58.830 回答
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
于 2010-02-25T16:01:13.210 回答
0

你设置onselectedindexchanged="ddlMyThing_SelectedIndexChanged"了ddl的属性吗?

于 2010-02-25T19:30:30.947 回答
0

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

看一下这个。

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

希望这可以帮助。

谢谢,

拉贾

于 2010-02-25T20:12:52.130 回答