用于创建的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'.

有人知道如何修改代码以使创建工作正常进行吗?

用于创建的MVC jquery日期选择器允许null

类似于:

 @model DateTime?
    @Html.TextBox("", Model.HasValue && Model.Value != DateTime.MinValue ? Model.Value.ToString("dd MMM yyyy") : string.Empty, new { @class = "datePicker" })