otro net lista eventos evento ejemplo ejecutar disparar desde boton activar vb.net event-handling addhandler

vb.net - net - Controlador de eventos que no se activa con AddHandler



lista de eventos en c# (1)

Tengo un formulario con aproximadamente 40 casillas de verificación. Una vez que se marca una casilla de verificación, la propiedad del control div debe cambiarse de "ninguno" a "bloque" o viceversa. No obtengo un error, pero el evento checkedchanged no se maneja. Aquí está el marcado:

<tr> <td class="sectionSubHeader lightgrey"> <asp:CheckBox ID="chkbxCOMAEFund" AutoPostBack="true" runat="server" /> COM Academic Excellence Fund - Endowed </td> </tr> <tr> <td> <ul class="boldDetail"> <li>Financial Need</li> </ul> </td> </tr> <tr> <td colspan="2" class="subSectionPad">Description..</td> </tr> <tr> <td colspan="2" class="subSectionPad"> <asp:Label ID="lblCOMAEFund" runat="server"></asp:Label><br /> <div id="divCOMAEFund" runat="server"> <asp:TextBox ID="txtCOMAEFund" runat="server" TextMode="MultiLine" Columns="95" Rows="4"></asp:TextBox> </div> </td> </tr>

Aquí está el código detrás:

Dim temp As String Dim div As HtmlControl For Each ctrl As Control In wizard.WizardSteps For Each subCtrl As Control In ctrl.Controls If TypeOf (subCtrl) Is CheckBox Then temp = subCtrl.ID.Replace("chkbx", "div") div = wizard.FindControl(temp) div.Style("display") = "none" AddHandler CType(subCtrl, CheckBox).CheckedChanged, AddressOf Chkbx_CheckChanged End If Next Next

Aquí está el submarino

Private Sub Chkbx_CheckChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Dim temp As String temp = sender.ID temp = temp.Replace("chkbx", "div") Dim divCtrl As HtmlControl divCtrl = wizard1.FindControl(temp) If sender.Checked = True Then divCtrl.Style("display") = "block" Else divCtrl.Style("display") = "none" End Sub


Los controladores de eventos que adjunte en el bloque de código que ha etiquetado como "el código subyacente" solo serán efectivos para esa iteración de la página. Los controladores no se conservan en las devoluciones. Por lo tanto, cuando el usuario marca una casilla de verificación y la página se publica automáticamente en el servidor, los controladores de eventos no se han cableado.

Debe tener los controladores de eventos conectados en alguna etapa del ciclo de vida de la página antes de la etapa de administración de eventos de devolución de datos. Puede hacerlo en PageLoad o declarativamente en su marcado.

Aquí hay una pregunta similar.