我正在尝试开发一个简单的局部视图:
@model Nullable<DateTime>
@if (Model == null)
{
<span>Active</span>
}
else
{
<span>Resigned on @Model.GetValueOrDefault().ToShortDateString()</span>
}
并从另一个视图中使用它:
@Html.Partial("ViewTemplates/UserStatus",user.ResignDate)
视图效果很好,除非它是Nullable<T>
。
我收到错误:
传递到字典中的模型项是类型的 'System.Collections.Generic.List
1[Models.UserModel]', but this dictionary requires a model item of type 'System.Nullable
1的System.DateTime]'。
当然user.ResignDate是可以为空的日期时间。
有什么想法吗?
由于
答案 0 :(得分:3)
如果传递给Partial方法(user.ResignDate)的模型参数为null,则asp.net-mvc将调用者视图的模型传递给Partial视图,然后出错。
如果您遵循惯例并将UserStatus放入DisplayTemplates文件夹,我会建议您用DisplayFor method替换部分呼叫
@Html.DisplayFor(model => model.user.ResignDate, "UserStatus")
答案 1 :(得分:0)
请检查user.ResignDate的数据类型 它应该是DateTime不可为空的DateTime