10 messaggi dal 15 maggio 2003
Sviluppo da diversi anni in "classic" ASP, ma da poco ho iniziato a scrivere applicazioni in ASP.NET: Pubblicando un sito su un win 2003 (con iis 6 naturalmente) ho dei comportamenti strani: su tutte le form del sito al momento di inviare i dati, qualora su uno dei campi si immetta qualche informazione sbagliata, il validatore non interviene lasciando passare la pagina ed eseguendo il codice relativo al click del pulsante di invio dati. Solo al successivo postback della pagina intervengono i validatori, quando oramai il tentativo di inserimento sul DB è stato fatto. Naturalmente lo stesso sito pubblicato su IIS 5.1 gira correttamente. So che su IIS 6 ci sono parecchie differenze rispetto ai suoi predecessori, ma ad una prima ricerca non ho trovato nessuna indicazione utile...

Ringrazio chiunque sapesse darmi una dritta, a buon rendere!

E fu per libero arbitrio e una certa sobrietà, saltò fuori dalla nave in fuga dalla civiltà...un uomo in mare.
quello che dici è strano, ma comunque quando usi i Validator dovresti verificare, sempre, Page.IsValid(), per evitare che una pagina non valida possa essere inviata.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
10 messaggi dal 15 maggio 2003
Daniele Bochicchio ha scritto:
quello che dici è strano, ma comunque quando usi i Validator dovresti verificare, sempre, Page.IsValid(), per evitare che una pagina non valida possa essere inviata.

Giusto: questo risolve il problema (fondamentale) dell'esecuzione del codice lato server relativo al click del pulsante (se non altro non inserisco nel DB set di dati incompleti), ma non quello dell'avvertimento dell'utente sull'errata compilazione dei campi: dando un'occhiata al sorgente html di una stessa pagina che mi ritornano i 2 server ho notato parecchie differenze nel codice, segno che i due iis processano differentemente le pagine (com'è logico, d'altronde). In particolare il TAG form che contiene tutti i controlli presenta l'attributo onsubmit="if (!ValidatorOnSubmit()) return false;" su iis5.1, mentre il suo valore su iis6 è onsubmit="ValidatorOnSubmit();". Anche le stesse funzioni javascript della pagina presentano delle differenze da un caso all'altro. Già mi sono imbattuto in un caso in cui il costrutto parent.document.location non ne voleva sapere di funzionare con iis6 (che voleva parent.window.location), per cui i miei sospetti stanno convergendo su questi temi...
Spero di aver dato indizi sufficienti per l'individuazione del problama da parte di qualcuno che ci si è già scontrato..io non sò più dove mettere le mani!!

E fu per libero arbitrio e una certa sobrietà, saltò fuori dalla nave in fuga dalla civiltà...un uomo in mare.
probabile ci siano versioni differenti del .NET Framework. probabile che su IIS 6 non ci sia il SP 1 della 1.1 e sul tuo IIS 5.1 sì.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
10 messaggi dal 15 maggio 2003
Ho pubblicato il sito su altri 2 sistemi WS2003: Tutto funziona come dovrebbe, probabilmente c'è qualche problema sulla macchina su cui ho fatto i test inizialmente..mi rimane il pallino di sapere il motivo di quel comportamento strano, anche perchè durante le ricerche ho trovato altre 2-3 persone col mio stesso identico problema...stà di fatto comunque che per ora è passata l'emergenza, grazie a Daniele per l'interessamento, se dovessi scoprire il baco lo scriverò su questo topic..

E fu per libero arbitrio e una certa sobrietà, saltò fuori dalla nave in fuga dalla civiltà...un uomo in mare.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.