用于创建的MVC jquery日期选择器允许null
本文关键字:选择器 null 日期 jquery 创建 MVC 用于 | 更新日期: 2023-09-27 18:00:39
我查看了这个链接:
http://blogs.msdn.com/b/stuartleeks/archive/2011/01/25/asp-net-mvc-3-integrating-with-the-jquery-ui-date-picker-and-adding-a-jquery-validate-date-range-validator.aspx
其描述了为MVC创建用于编辑中的日期选择的jquery日期选择器。
当然,教程运行良好,但只适用于编辑,而不适用于创建。
它有一个模型:
public class Foo
{
public string Name { get; set; }
[DataType(DataType.Date)]
public DateTime Date { get; set; }
}
我修改了它的编辑,创建了一个类似于:的创建
@model DatePickerTemp.Models.FooEditModel @{
ViewBag.Title = "Create";
Layout = "~/Views/Shared/_Layout.cshtml"; } <h2>
Create</h2>
@Model.Message
@using (Html.BeginForm())
{
@Html.EditorFor(m => m.Foo)
<input id="submit" name="submit" type="submit" value="Save" />
}
}
另一个代码使用一些jquery:
$(document).ready(function () {
$('.date').datepicker({dateFormat: "dd/mm/yy"});
});
任何有等级的东西。日期:
还有另一段代码:
@model DateTime
@Html.TextBox("", Model.ToString("dd/MM/yyyy"), new { @class = "date" })
它在类型为的对象上设置类
[DataType(DataType.Date)]
创建一个jquery日期选择器。
问题是这种类型是不可为null的类型,所以当你运行create时,你会得到:
The model item passed into the dictionary is null, but this dictionary requires a non-null model item of type 'System.DateTime'.
有人知道如何修改代码以使创建工作正常进行吗?
类似于:
@model DateTime?
@Html.TextBox("", Model.HasValue && Model.Value != DateTime.MinValue ? Model.Value.ToString("dd MMM yyyy") : string.Empty, new { @class = "datePicker" })