Hice una búsqueda sobre esto y encontré varias respuestas parciales, sin embargo, nada que me dé ese cálido y difuso "esta es la manera correcta de hacer esto". Para responder a la queja más frecuente contra esta pregunta: "las casillas de verificación pueden tener dos estados legítimos: marcada y desmarcada", esta es una casilla de verificación "Acepto los términos y condiciones ..." que debe marcarse para completar un registro, por lo tanto, se requiere marcar la casilla desde el punto de vista de la lógica empresarial.
¡Proporcione fragmentos de código completos listos para cortar y pegar con su respuesta! Sé que hay varias piezas en esto: el CustomValidator (presumiblemente), el código subyacente, algo de javascript y posiblemente una verificación de IsValid, y la parte frustrante para mí es que en cada ejemplo que he visto, uno de estos elementos críticos faltan piezas!
fuente
jQuery("#<%= MyCheckBox.ClientID %>")
lugar dejQuery(".AcceptedAgreement input:checkbox")
ser más explícito en qué elemento está intentando afectar.Versión C # de la respuesta de andrew:
Código detrás:
fuente
Si desea un verdadero validador que no se base en jquery y maneje la validación del lado del servidor también (y debería hacerlo. La validación del lado del servidor es la parte más importante) entonces aquí hay un control
fuente
La respuesta de Scott funcionará para clases de casillas de verificación. Si desea casillas de verificación individuales, debe ser un poco más astuto. Si solo está haciendo un cuadro, es mejor hacerlo con ID. Este ejemplo lo hace mediante casillas de verificación específicas y no requiere jQuery. También es un pequeño ejemplo de cómo puede obtener esos molestos ID de control en su Javascript.
El .ascx:
Y el código subyacente:
fuente
Normalmente realizo la validación en el lado del cliente:
fuente
Forma no javascript. . página aspx:
Código detrás:
Para cualquier acción que pueda necesitar (reglas comerciales):
Perdón por el código VB. . . puede convertirlo a C # si le place. La empresa para la que trabajo ahora requiere VB :(
fuente