tengo una casilla en un formulario de contenido ASP.NET, así:ASP.NET CheckBox no desencadenar el evento CheckedChanged cuando desmarcando
<asp:CheckBox runat="server" ID="chkTest" AutoPostBack="true" OnCheckedChanged="chkTest_CheckedChanged" />
En mi código detrás tengo el siguiente método:
protected void chkTest_CheckedChanged(object sender, EventArgs e)
{
}
Cuando cargo la página en el navegador y hago clic en la casilla de verificación, se marca, la página se devuelve y puedo ver que se llama al chkTest_CheckedChanged
.
Cuando vuelva a hacer clic en la casilla de verificación se desactiva, la página se devuelve, sin embargo, chkTest_CheckedChanged
no se llama.
El proceso es repetible, por lo que una vez que CheckBox esté desmarcado, al marcarlo se desencadenará el evento.
Tengo estado de vista deshabilitado en Web.Config, lo que permite que este problema desaparezca. ¿Qué puedo hacer para disparar un evento confiable mientras View State permanece desactivado?
Actualización: Si fijo Checked="true"
en la etiqueta del servidor de la situación se invierte con el evento de disparar cuando desmarcar la casilla de verificación, pero no al revés.
Actualización 2: he anulado OnLoadComplete
en mi página y desde dentro no puedo confirmar que Request.Form["__EVENTTARGET"]
está ajustada correctamente a la ID de mi casilla de verificación.
que me pasa a mí también, ¿por qué sucede? ¿Alguna información? cualquier luz al final de este túnel (¿eso no me va a atropellar)? – Ayyash
te ayudará si puedes publicar el código de tu evento Page_Load – Waqas
No hay nada en el evento Page_Load. Todo el código está en la publicación original. – Matt