2009-11-03 11 views
7

Tengo un control de usuario anidado que aparece en cada página. Contiene alguna validación en forma de validadores de ASP.NET.¿Hay alguna forma de deshabilitar la validación de eventos para una página completa?

El problema que estoy corriendo en es, ya que está en cada página (en esencia se encuentra en mi control de navegación izquierda), necesito fijar CausesValidation="false" en cada botón, etc ..

¿Hay alguna manera para establecer CausesValidation = "false" en el nivel de página?

Respuesta

11
Page.EnableEventValidation = false; 

Se recomienda encarecidamente no deshabilitar la validación de eventos. Si desactiva la validación de eventos, asegúrese de que no se pueda construir una devolución de datos que pueda tener un efecto imprevisto en su aplicación.

http://msdn.microsoft.com/en-us/library/system.web.ui.page.enableeventvalidation.aspx

+0

Creo que podría limitarme a deshabilitar EventValidation para cada uno de los botones. –

+0

sí ... esa sería una mejor idea, creo que –

+0

quizás solo un diseño deficiente de mi parte al poner un formulario modal con la validación de eventos. Tal vez me deshago de los validadores de asp.net y simplemente lo haga en el código subyacente. –

1

Evento de validación y la propiedad causas validación de un control son cosas muy diferentes.

Creo que lo que quieres hacer es evitar que los validadores asp de tu usercontrol se disparen cuando estás haciendo algo en el contenido principal de tu página.

Todo lo que necesita hacer es agregar un nombre de ValidationGroup a los validadores y el botón que envía el formulario en su usercontrol.

BTW: La validación de eventos es un poco de magia .NET que detiene todo lo que parece que javascript se ingresa en un formulario y se envía a un servidor.

Apagar esto == malos tiempos.

Cuestiones relacionadas