我的意圖是通過創建一個EditorTemplate按照這個帖子ASP.NET MVC 2 Templates可空日期時間,EditorTemplates,JQ 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>
}
相關的代碼工作完美地描述了jQuery UI日期選擇器適用於我的整個網站;但是,除了多個DateTime字段,模型還包含1個可爲空的DateTime字段並導航到頁面結果中的此錯誤:
傳遞到字典中的模型項目爲null,但此字典需要非null模型項目類型'System.DateTime'。
事實上,即使在路徑Views/Shared/EditorTemplates中創建一個名爲「DateTime」的空白部分也足以產生錯誤,這表明即使模板被重寫,仍然可能無法處理空值。在索引視圖(通過EF代碼優先通過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?