gpt4 book ai didi

jquery - 可空日期时间、编辑器模板、JQUERY UI DatePicker

转载 作者:行者123 更新时间:2023-12-01 07:29:10 24 4
gpt4 key购买 nike

我的目的是通过按照这篇文章 ASP.NET MVC 2 Templates 创建一个 EditorTemplate 将 JQuery UI Datepicker 应用到我的整个网站。

@model DateTime

@{
string name = ViewData.TemplateInfo.HtmlFieldPrefix;
string id = name.Replace(".", "-");

<div class="editor-label">
@Html.LabelFor(model => model)
</div>
<div class="editor-field, datepicker">
@Html.EditorFor(model => model)
@Html.ValidationMessageFor(model => model)
</div>
}

相关代码按照描述完美运行;但是,除了几个 DateTime 字段之外,模型还包含 1 个可为空的 DateTime 字段,导航到该页面会导致以下错误:

传入字典的模型项为 null,但此字典需要类型为“System.DateTime”的非空模型项。

事实上,即使在路径 Views/Shared/EditorTemplates 中创建一个名为“DateTime”的空部分也足以生成错误,这表明即使模板被重写,它可能仍然无法处理空值。对于可空和不可空的 DateTime 字段,索引 View 中的代码(通过 EF Code-First 通过 MvcScaffolding 生成)是相同的:

    <div class="editor-label">
@Html.LabelFor(model => model.ItemInstance.iArrivalDate)
</div>
<div class="editor-field,datepicker">
@Html.EditorFor(model => model.ItemInstance.iArrivalDate)
@Html.ValidationMessageFor(model => model.ItemInstance.iArrivalDate)
</div>

那么是否可以修改模板来处理可为空的 DateTime?

最佳答案

您指定了 DateTime 模型,它是值类型且不能为 null。这就是错误消息告诉您的内容。尝试将您的模型更改为可为空的 DateTime。

@model DateTime?

@{...}

这应该可以解决问题。

关于jquery - 可空日期时间、编辑器模板、JQUERY UI DatePicker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7480123/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com