Logo UGIdotNET

Discussione 'Problema stupidissimo'

# Pubblicato il 07 set 2004 10.41 - Rispondi
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 ?????

# Pubblicato il 07 set 2004 14.26 - Rispondi
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
# Pubblicato il 08 set 2004 15.08 - Rispondi
Fabrizio Canevali
Re: Ho capito!
Ciao,

Sei sulla buona strada... potenza del codebehind.

Fabrizio
# Pubblicato il 08 set 2004 16.27 - Rispondi
Andrea Boschin
Re: Problema stupidissimo
Forse perchè DataBinder.Eval ti torna un object a null.
Prova IsNull()

Andrea Boschin
-----------------------------------------------
Microsoft Certified Professional
# Pubblicato il 07 set 2004 14.40 - Rispondi
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!!
# Pubblicato il 07 set 2004 15.17 - Rispondi
giuseppe dominijanni
Re: Problema stupidissimo
Mi trovo un:
If (Not IsDBNull(oUserId)) Then

giuseppeD
# Pubblicato il 07 set 2004 15.21 - Rispondi
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!!
# Pubblicato il 07 set 2004 17.02 - Rispondi
Giuseppe Carbone
Re: Problema stupidissimo
Prova con If qualcosa <> System.DBNull.Value
così dovrebbe funzionare.
# Pubblicato il 08 set 2004 10.33 - Rispondi
Luca Maistrello
Re: Problema stupidissimo
None ....
# Pubblicato il 08 set 2004 13.55 - Rispondi
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 ?
# Pubblicato il 08 set 2004 14.54 - Rispondi
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
# Pubblicato il 08 set 2004 15.03 - Rispondi
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
# Pubblicato il 08 set 2004 15.30 - Rispondi
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 ...
# Pubblicato il 08 set 2004 16.03 - Rispondi
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
# Pubblicato il 08 set 2004 16.21 - Rispondi
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 ...

© 2001 User Group Italiano UGIdotNET. Tutti i diritti riservati. Note legali. - Partita IVA 01927050185