Pregunta

He puesto un validador de rango en un control de cuadro de texto asp.net en mi página web; siempre que el rango no se encuentre; se mostrará el mensaje de error,

Pero se está moviendo a la página siguiente. ¿Cómo puedo evitar que se mueva a la página siguiente después de hacer clic en el botón enviar mientras no se cumple el rango?

¿Fue útil?

Solución

  • Asegúrese de que su botón de envío esté en el mismo ValidationGroup que su validador de rango. Esto es particularmente cierto si tiene más de un ValidationGroup definido.

  • Asegúrese de que la propiedad CausesValidation no esté configurada como falsa en el botón. El valor predeterminado es True , por lo que si la propiedad no está declarada en su ASPX o en el código que está detrás, el botón debe activar su secuencia de validación.

  • Si no está utilizando el flujo de página normal, (es decir, su botón tiene la propiedad UseSubmitBehvior establecida en False , o en algunos casos, cuando se usa asych Devoluciones de llamada AJAX), entonces usted querrá envolver su código de cambio de página en un bloque If que verifica Page.IsValid antes de disparar.

  • Verifique que ControlToValidate esté configurado en el control correcto y que no tenga un valor predeterminado que pase la validación.

Otros consejos

Código?

¿Te estás enviando directamente a la página siguiente en lugar de volver a publicar en la misma página y redirigir?

¿Está redirigiendo en Page_Load, que aparece antes de validación ?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top