我想重用我一直使用的相同的代碼,但現在它遇到了一個錯誤。可空對象必須有一個值#2
我循環通過各種用戶表,並在那裏我這樣做:
DateTime dcdt = (DateTime)u.DateCreated;
DateTime lldt = (DateTime)u.LastLogon;
userRow["DateCreated"] = dcdt.ToShortDateString();
內循環。我得到的錯誤:不是 「DCDT」,這是第一位的
System.InvalidOperationException: Nullable object must have a value.
錯誤亮點 「LLDT」 行。這本身就很奇怪。檢查數據庫中的這些字段「允許空值」。而且他們都可能是空的或者都不是空的。
這兩個值都列爲DateTime?通過智能感知類型。
我不明白爲什麼ASP.NET拒絕讓我在空日期輸出空白。如果它爲空/空,那麼邏輯會建議ASP.NET應該只是不打印任何東西。
我還想如何輸出空日期?我試圖添加if語句來防止嘗試投射null DateTimes,但它沒有幫助,這是沒有意義的。
那我該怎麼辦呢?我不投?我是否繼續在DateTime上使用ShortDateString()?而不是DateTime? – Dexter 2012-01-05 20:24:10
如果列類型是DateTime,請參閱我的更新 – 2012-01-05 20:27:34
「u.LastLogon.Value.ToShortDateString()」究竟是如何工作的? – 2012-01-05 20:47:06