我对Telerik MVC扩展是合理的新手。我在视图中成功实现了我的第一个实例。我没有使用Telerik MVC Grid实现我的第二个视图,但是绑定到网格的类有2列,它们的类型为Nullable。当我运行我的代码时,视图吐出一个错误,如下所示:Telerik MVC Grid - 可以为空的DateTime属性的问题
传入字典的模型项目为null,但此字典需要类型为“System.DateTime”的非空模型项目。
我原本以为这可能是一个模板,只适用于DateTime而不是Nullable,但我完全拿出任何显示这些DataTime的列的渲染问题?属性。
我的代码如下:
查看代码Telerik的MVC电网
<%= Html.Telerik().Grid(Model.ScheduledCourseList)
.Name("ScheduledCoursesGrid")
.ToolBar(commands => commands.Insert().ButtonType(GridButtonType.Image).ImageHtmlAttributes(new { style = "margin-left:0" }))
.DataKeys(keys => keys.Add(sc => sc.Id))
.DataBinding(dataBinding =>
dataBinding.Ajax()
.Select("_List", "Course")
.Insert("_InsertAjax", "Course")
.Update("_UpdateAjax", "Course")
.Delete("_DeleteAjax", "Course")
)
.Columns(columns =>
{
columns.Bound(c => c.Id).Width(20);
//columns.Bound(c => c.ScheduledDateTime).Width(120);
//columns.Bound(c => c.Location).Width(150);
columns.Command(commands =>
{
commands.Edit().ButtonType(GridButtonType.Image);
commands.Delete().ButtonType(GridButtonType.Image);
}).Width(180).Title("Commands");
})
.Editable(editing => editing.Mode(GridEditMode.PopUp))
.Sortable()
.Footer(true) %>
DTO
public class ScheduledCourseDTO
{
public int Id { get; set; }
public int CourseId { get; set; }
public int CourseProviderId { get; set; }
public DateTime? ScheduledDateTime { get; set; }
public DateTime? EndDateTime { get; set; }
public string Location { get; set; }
public int SiteId { get; set; }
public decimal CostBase { get; set; }
public decimal CostPerAttendee { get; set; }
public decimal PricePerAttendee { get; set; }
public int MaxAttendees { get; set; }
public int CancellationDays { get; set; }
public bool Deleted { get; set; }
}
有谁有一个想法,我怎么能解决这个问题?
我不使用Telerik的从什么,但这个答案还是让我的错误消息我得到了正确的道路上。谢谢! – 2011-02-24 22:58:17
嗨Shea我有同样的问题,但我并没有使用Telerik。你是如何解决你的问题的? – Jacques 2012-08-21 09:24:45
@Jacques: 如果你没有自己解决这个问题,我遇到了类似的问题,并且通过在类中同时包含DateTimePicker对象和DateTime对象并在TryUpdateModel调用后将前者移植到后者来解决此问题。 – 2015-02-05 14:02:46