La lista desplegable de Asp.NET en usercontrol no activa el evento SelectedIndexChanged
vb.net drop-down-menu (6)
Asp.Net 2.0 framewrok - Aplicación VB.Net Tengo un UserControl que contiene Asp.Net DropDownList.
Cosas ya investigadas y / o probadas:
- El control se vincula a los datos de la carga de la página en el interior si no es en la página. IsPostBack (solo se carga una vez)
- ID Proprety se establece para el control (ID = ddlMyControl)
- AutoPostBack está establecido en verdadero
- EnableViewState en el control se establece en verdadero
- AutoEventWireUp en la declaración UserControl se establece en verdadero
- EnableEventValidation se establece en falso en la página principal
El control no activará su evento SelectedIndexChanged sin importar lo que haga. AYUDA !!
Gracias :)
¿Ha establecido la onselectedindexchanged="ddlMyThing_SelectedIndexChanged"
del ddl?
¿Qué pasa con la página de "envolvente"? Podrías probar tu UserControl dentro de otra página?
¿Cómo se agrega el controlador de eventos? ¿Cómo se incluye el control de uso? (Cuando a través de código, puede ser demasiado tarde?)
Puede ser que puedas mostrar algún código ;-)
Creo que debes establecer EnableEventValidation en True.
Mira esto.
http://www.experts-exchange.com/Programming/Languages/.NET/ASP.NET/Q_22405007.html
Espero que esto ayude.
Gracias,
Raja
El UserControl no se carga dinámicamente, sino que se agrega a la página principal en tiempo de diseño en el HTML de la página
<uc3:TheControl ID="ucMyControl" runat="server" />
El controlador de eventos está codificado en el código detrás del UserContorl mismo: material estándar:
Protected Sub ddlMyThing_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlMyThing.SelectedIndexChanged
''Do event stuff here.
End Sub
Me encontré con un problema similar y fue porque dejé AutoPostBack = "true" fuera de la definición de control. En su publicación original, dijo que lo había intentado, pero el código publicado:
<uc3:TheControl ID="ucMyControl" runat="server" />
no refleja la propiedad AutoPostBack. Agregué eso al mío y se encargó de mi problema. Espero que ayude.
Sé que es muy tarde, pero pensé que ayudaría a otros que enfrentaran el mismo problema.
Supongo que desea activar el evento SelectedIndexChanged
de DropDownList
que ya está vinculado con algunos datos.
Por ejemplo [C #]
ddlMyDropDown.DataSource = listOfCustomers;
ddlMyDropDown.DataTextField = "CustomerName";
ddlMyDropDown.DataValueField = "CustomerID";
ddlMyDropDown.DataBind();
ddlMyDropDown.CauseValidation = false;
Supongo que estás usando asp.net (última versión) ... tal vez 4.0.