Tôi đang cố gắng sử dụng lại cùng mã mà tôi đã luôn sử dụng nhưng hiện tại nó đang gặp lỗi.Đối tượng dễ vỡ phải có giá trị # 2
Tôi lặp thông qua các bảng người dùng khác nhau, và trong đó tôi làm điều này:
DateTime dcdt = (DateTime)u.DateCreated;
DateTime lldt = (DateTime)u.LastLogon;
userRow["DateCreated"] = dcdt.ToShortDateString();
bên trong vòng lặp. Tôi nhận được lỗi:
System.InvalidOperationException: Nullable object must have a value.
Lỗi nổi bật "lldt" dòng, thay vì "dcdt" mà đến trước. Điều đó thật lạ lẫm trong chính nó. Cả hai trường này trong cơ sở dữ liệu "cho phép null" được chọn. Và cả hai có thể là null hoặc không có thể là null.
Hai giá trị này đều được liệt kê là Ngày giờ? các loại thông qua intellisense.
Tôi không hiểu tại sao ASP.NET từ chối cho phép tôi xuất trống trong các ngày không có. Nếu nó là rỗng/null, thì logic sẽ gợi ý rằng ASP.NET chỉ nên in không có gì.
Tôi có thể giả sử như thế nào để xuất các ngày tháng không? Tôi đã thử thêm nếu các câu lệnh để ngăn chặn cố gắng để cast null DateTimes, nhưng nó không giúp đỡ, nó không có ý nghĩa.
Vì vậy, tôi phải làm gì với nó? Tôi không bỏ? Tôi có tiếp tục sử dụng ShortDateString() trên DateTime không? thay vì DateTime? – Dexter
Xem cập nhật của tôi nếu loại cột là DateTime –
Chính xác cách 'u.LastLogon.Value.ToShortDateString()' không hoạt động? –