Asp.带有nullable_的.MVC分部视图模型

本文关键字:视图 模型 MVC 带有 nullable Asp | 更新日期: 2023-09-27 18:05:22

我正在尝试开发一个简单的局部视图:

@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]'.

当然,用户。ResignDate是一个可空的日期时间。

任何想法?

谢谢

Asp.带有nullable_的.MVC分部视图模型

如果传递给分部方法(user.ResignDate)的模型参数为null,则asp.net-mvc将调用者视图的模型传递给分部视图,您会得到错误。

如果您遵循惯例并将UserStatus放在DisplayTemplates文件夹中,我会建议您用DisplayFor方法替换Partial call

@Html.DisplayFor(model => model.user.ResignDate, "UserStatus")

请检查用户的数据类型。ResignDateDateTime