| Luca Maistrello |
Problema stupidissimo
Come posso fare in un .aspx per evitare che Format di un campo data non vada in crash se il campo è null?
Ho provato con IIF(IsDBNull(DataBinder.Eval(Container.DataItem, "DataOrdine")),"",Format(DataBinder.Eval(Container.DataItem, "DataOrdine"),"d")) ma nemmeno sio accorge che è un DBNull e va in crash lo stesso, eppure è NULL, come ca$$o devo fare ????? |
| giuseppe dominijanni |
Re: Problema stupidissimo
on 7. Sep 2004 10:41 Luca Maistrello wrote:
> Come posso fare in un .aspx per evitare che Format di un campo data non vada in > crash se il campo è null? > Ho provato con > IIF(IsDBNull(DataBinder.Eval(Container.DataItem, > "DataOrdine")),"",Format(DataBinder.Eval(Container.DataItem, "DataOrdine"),"d")) Provato con isdbnull.value ? giuseppeD |
| Fabrizio Canevali |
Re: Ho capito!
Ciao,
Sei sulla buona strada... potenza del codebehind. Fabrizio |
| Andrea Boschin |
Re: Problema stupidissimo
Forse perchè DataBinder.Eval ti torna un object a null.
Prova IsNull() Andrea Boschin ----------------------------------------------- Microsoft Certified Professional |
| Luca Maistrello |
Re: Problema stupidissimo
isdbnull.value non esiste, ho provato con
<%# IIF(DataBinder.Eval(Container.DataItem, "DataOrdine") is DBNull.value,"",Format(DataBinder.Eval(Container.DataItem, "DataOrdine"),"d")) %> ma ancora senza risultati, lui non capisce che è null in nessuna maniera ... HELP!! |
| giuseppe dominijanni |
Re: Problema stupidissimo
Mi trovo un:
If (Not IsDBNull(oUserId)) Then giuseppeD |
| Luca Maistrello |
Re: Problema stupidissimo
E' esattamente la prima prova che ho fatto, scrivere
if not isdbnull(qualcosa) then cmd1 else cmd2 end if o IIF(isdbnull(qualcosa),cmd2,cmd1) è la stessa cosa, ma non funziona!! |
| Giuseppe Carbone |
Re: Problema stupidissimo
Prova con If qualcosa <> System.DBNull.Value
così dovrebbe funzionare. |
| Luca Maistrello |
Re: Problema stupidissimo
None ....
|
| Luca Maistrello |
Ho capito!
L' IIF funziona anche ma comunque viene eseguito il codice in entrambi i casi e quindi il format di un null da errore. Ora se sostituisco l'IIF con un IF ... THEN ... ELSE le cose cambiano?
Come posso in un aspx scrivere qualcosa come if .... then response.write (databinder.eval(container.dataitem,"data")) else response.write (format(databinder.eval(container.dataitem,"data"),"d")) end if ??????? So già che così non funziona, qualche suggerimento ? |
| Fabrizio Canevali |
Re: Ho capito!
Ciao,
vorrei risponderti dandoti la soluzione, ma... ,mi pare di intuire che non hai ancora colto la filosofia della programmazione ad oggetti. Per questo ti consiglio quanche buona lettura OOP. Per quanto riguarda il tuo problema, vai a questo link http://www.dotnet247.com/247reference/msgs/54/274954.aspx Fabrizio |
| Luca Maistrello |
Re: Ho capito!
Veramente la programmazione a oggetti la conosco bene, ho programmato per molto tempo in Java. Sto passando da ASP a ASP.NET e lo sto facendo per esempi, cercando via via di cogliere le indicazioni necessarie, senza un grosso studio dietro.
Ad esempio ho capito adesso che <%# ...%> serve solo a fare il binding di dati a un controllo e non a scrivere codice tipo if then else. Bene a sapersi, dovrò fare una mia funzione che operi il miracolo ... Grazie |
| Luca Maistrello |
Re: Ho capito!
OK ce l'ho fatta. Mi resta un dubbio.
Seguendo le orme (pessime) del mio predecessore ho creato la funzione n una classe la quale viene istanziata nel global.asax e immagazzinata in una variabile di sessione, così per accedervi uso Session("xApplicazione").GetDataValida(...) Non gridate all'orrore, qualcuno sa dirmi in 2 parole come posso accedere alla funzione in maniera virtuale senza istanziare un oggetto della classe ? Ho provato ma non mi fa accedere alla classe ... |
| Fabrizio Canevali |
Re: Ho capito!
on 8. Sep 2004 15:30 Luca Maistrello wrote:
> OK ce l'ho fatta. Mi resta un dubbio. > per accedervi uso Session("xApplicazione").GetDataValida(...) Perchè ?? > Non gridate all'orrore Difficile non farlo. Fabrizio |
| Luca Maistrello |
Re: Ho capito!
Perchè se uso nomeclasse.funzione() mi dice che la classe non è dichiarata e al momento non so come farea rendere "pubblica" la classe, se mi si vuole dare una mano altrimenti lo scopro da solo, mi ci vorrà un po' di più ma ci arrivo lo stesso ...
Se vedessi le porcherie che mi sono trovato di fronte, questo è veramente nulla a confronto ... |