Sto provando a riutilizzare lo stesso codice che ho sempre utilizzato, ma ora sta riscontrando un errore.L'oggetto Nullable deve avere un valore # 2
Sto scorrendo varie tabelle utente, e lì mi fare questo:
DateTime dcdt = (DateTime)u.DateCreated;
DateTime lldt = (DateTime)u.LastLogon;
userRow["DateCreated"] = dcdt.ToShortDateString();
all'interno del ciclo. Ottengo l'errore:
System.InvalidOperationException: Nullable object must have a value.
i punti salienti di errore "lldt" linea, invece di "dcdt", che viene prima. Questo è strano in sé e per sé. Entrambi questi campi nel database "Consenti null" sono selezionati. Ed entrambi potrebbero essere nulli o nessuno dei due potrebbe essere nullo.
I due valori sono entrambi elencati come DateTime? tipi tramite intellisense.
Non capisco perché ASP.NET si rifiuta di consentire l'output vuoto per le date nulle. Se è vuoto/nullo, la logica suggerirebbe che ASP.NET non debba stampare nulla.
In quale altro modo si suppone di fornire date nulle? Ho provato ad aggiungere se le istruzioni per evitare di provare a lanciare DateTimes nulli, ma non aiuta, non ha senso.
Quindi cosa faccio a riguardo? Non scrivo? Continuo a utilizzare ShortDateString() su DateTime? invece di DateTime? – Dexter
Vedere il mio aggiornamento se il tipo di colonna è DateTime –
Esattamente come 'u.LastLogon.Value.ToShortDateString()' non funziona? –