Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
Validazione a runtime
giovedì 17 aprile 2008 - 10.53
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
allevaldo
Profilo
| Junior Member
61
messaggi | Data Invio:
gio 17 apr 2008 - 10:53
ho una serie di controlli che vengono inseriti dinamicamente nella pagina durante l'onload.
vorrei associare dei controlli di validazione ad ognuno di essi... ma giustamente non posso sapere prima quanti e quali saranno...
si possono aggiungere dei validator a runtime???
Wamba
Profilo
| Expert
722
messaggi | Data Invio:
gio 17 apr 2008 - 11:14
Puoi sfruttare il validation group o creare anche i validatori a runtime.
Se hai bisogno di riferimenti dimmelo che ti do una mano.
-----------------------------------------------------------
Solo chi ha il Caos dentro può generare una stella danzante
Wamba
http://blogs.ugidotnet.org/WamBlog/
http://www.intellimaker.com
allevaldo
Profilo
| Junior Member
61
messaggi | Data Invio:
gio 17 apr 2008 - 11:28
sì che mi servono...
anche perchè aggiungo il validator così
RegularExpressionValidator reg = new RegularExpressionValidator();
reg.ID = num + "_numAttValidator";
reg.ErrorMessage = " ! ";
reg.EnableClientScript = true;
reg.ControlToValidate = num + "_numAtt";
reg.Enabled = true;
reg.SetFocusOnError = true;
reg.ValidationExpression = @"[0-9]+";
this.Validators.Add(reg);
numAttivita.Controls.Add(reg);
lo aggiungo così alla pagina... ma in debug mi dice che la collection di validators della pagina ha count = 0 e quindi il page.isvalid è sempre true
Wamba
Profilo
| Expert
722
messaggi | Data Invio:
gio 17 apr 2008 - 11:39
Validation group un'introduzione:
http://msdn2.microsoft.com/en-us/library/ms227424.aspx
Aggiunta dinamica validator: in che momento del ciclo di vita della pagina fai l'inserimento del validatore? c'è un if(!IsPostBack)?.
Personalmente trovo più valida la prima soluzione, perchè l'aggiunta dinamica di controlli aggiunge un grado di complessità alla pagina notevole.
-----------------------------------------------------------
Solo chi ha il Caos dentro può generare una stella danzante
Wamba
http://blogs.ugidotnet.org/WamBlog/
http://www.intellimaker.com
allevaldo
Profilo
| Junior Member
61
messaggi | Data Invio:
gio 17 apr 2008 - 11:50
devo per forza aggiungerli dinamicamente perchè non so a priori quanti e quali controlli ci saranno sul form... e soprattutto non ne conosco l'id a priori
li aggiungo nel load della pagina... all'interno dell'if (!page.ispostback)
Wamba
Profilo
| Expert
722
messaggi | Data Invio:
gio 17 apr 2008 - 12:09
Allora il problema è spiegato.
Il guaio è che il view state mantiene in memoria lo stato dei controlli, ma non l'albero dei controlli. In altre parole, quando crei dei controlli dinamici devi ricrearli ad ogni postback.
I controlli dinamici non sono un argomento semplice. Ti consiglio un link:
http://weblogs.asp.net/infinitiesloop/archive/2006/08/25/TRULY-Understanding-Dynamic-Controls-_2800_Part-1_2900_.aspx
-----------------------------------------------------------
Solo chi ha il Caos dentro può generare una stella danzante
Wamba
http://blogs.ugidotnet.org/WamBlog/
http://www.intellimaker.com
allevaldo
Profilo
| Junior Member
61
messaggi | Data Invio:
gio 17 apr 2008 - 12:19
non ho capito nulla...
cioè al postback della pagina perde tutti i controlli?
Wamba
Profilo
| Expert
722
messaggi | Data Invio:
gio 17 apr 2008 - 13:43
Versione facile: Quelli creati a runtime si.
Versione complessa: Tutti i controlli vengono persi, la pagina ed alcuni controlli (es:repeater) reinstanziano in automatico i controlli figlio, tutti gli altri devi occuparti personalmente di ricrearli.
-----------------------------------------------------------
Solo chi ha il Caos dentro può generare una stella danzante
Wamba
http://blogs.ugidotnet.org/WamBlog/
http://www.intellimaker.com
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !