Выпадающий список Asp.NET в usercontrol не запускает событие SelectedIndexChanged - PullRequest
3 голосов
/ 25 февраля 2010

Asp.Net 2.0 framewrok - приложение VB.Net У меня есть UserControl, содержащий Asp.Net DropDownList.

Вещи, уже исследованные и \ или опробованные:

  • Элемент управления привязывается к данным при загрузке страницы внутри, если не Page.IsPostBack (загружается только один раз)
  • Идентификатор свойства установлен для управления (ID = ddlMyControl)
  • AutoPostBack имеет значение true
  • EnableViewState для элемента управления установлен в значение true
  • AutoEventWireUp в объявлении UserControl имеет значение true
  • EnableEventValidation имеет значение false на родительской странице

Элемент управления не будет запускать событие SelectedIndexChanged, независимо от того, что я делаю. ПОМОГИТЕ !!

Спасибо:)

Ответы [ 6 ]

4 голосов
/ 18 июля 2011

Я столкнулся с подобной проблемой, и это было потому, что я оставил AutoPostBack = "true" вне определения элемента управления. В своем оригинальном сообщении вы сказали, что пробовали это, но отправили код:

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

не отражает свойство AutoPostBack. Я добавил это к моему, и он позаботился о моей проблеме. Надеюсь, это поможет.

1 голос
/ 08 июля 2011

Я знаю, что уже очень поздно, но я думал, что это поможет другим, кто столкнулся с той же проблемой.

Я предполагаю, что вы хотите запустить SelectedIndexChanged Событие DropDownList, которое уже связано с некоторыми данными!
Например [C #]

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

Я предполагаю, что вы используете asp.net (последняя версия) .. возможно 4.0.

0 голосов
/ 25 февраля 2010

Я думаю, вам нужно установить EnableEventValidation в True.

Проверьте это.

http://www.experts -exchange.com / Программирование / Языки / .NET / ASP.NET / Q_22405007.html

Надеюсь, это поможет.

Спасибо

Радж

0 голосов
/ 25 февраля 2010

Вы установили свойство onselectedindexchanged="ddlMyThing_SelectedIndexChanged" для ddl?

0 голосов
/ 25 февраля 2010

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
0 голосов
/ 25 февраля 2010

А как насчет "потрясающей" страницы. Вы можете попробовать свой UserControl на другой странице?

Как добавить обработчик событий? Как вы включаете контроль использования? (Когда через код, может быть поздно?)

Может быть, вы могли бы показать код ;-)

...