2009-11-03 12 views
7

Ho un controllo utente annidato che appare su ogni singola pagina. Contiene alcune convalide sotto forma di validatori ASP.NET.C'è un modo per disabilitare la convalida degli eventi per un'intera pagina?

Il problema che sto funzionando in è, dal momento che è in ogni pagina (in sostanza è situato in mio controllo di navigazione a sinistra), ho bisogno di impostare CausesValidation="false" su ogni singolo tasto, ecc ..

C'è un modo impostare CausesValidation = "false" al livello di pagina?

risposta

11
Page.EnableEventValidation = false; 

Si consiglia vivamente di non disabilitare la convalida degli eventi. Se si disabilita la convalida dell'evento, assicurarsi che non sia possibile creare alcun postback che potrebbe avere un effetto indesiderato sull'applicazione.

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

+0

Penso che potrei limitarmi a disabilitare EventValidation per ciascuno dei pulsanti. –

+0

sì .. sarebbe meglio che immagino che indovino –

+0

forse solo un design scadente da parte mia mettendo un modulo modale con la convalida degli eventi. Forse mi libererò dei validatori di asp.net e lo faccio semplicemente nel codice sottostante. –

1

convalida evento e la proprietà convalida cause di un controllo sono cose molto diverse.

Penso che quello che vuoi fare è fermare gli asp di validatori nel tuo usercontrol dallo sparare quando stai facendo qualcosa nel contenuto principale della tua pagina.

Tutto ciò che devi fare è aggiungere un nome di ValidationGroup ai validatori e il pulsante che invia il modulo nel tuo usercontrol.

BTW: La convalida degli eventi è un po 'di magia .NET che blocca qualsiasi cosa che assomigli ad un javascript inserito in un modulo e inviato ad un server.

Spegnere questo == volte brutto.

Problemi correlati