Я проверял эту ссылку:
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
, который описывает создание средства выбора даты jquery для MVC для выбора даты в редактировании.
Конечно, учебник работает нормально, но работает только для правок, а не создает.
Имеет модель:
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"});
});
для всего с классом .date:
Есть еще один фрагмент кода:
@model DateTime
@Html.TextBox("", Model.ToString("dd/MM/yyyy"), new { @class = "date" })
, который устанавливает класс для объектов типа:
[DataType(DataType.Date)]
для создания jquery datepicker.
Проблема в том, что этот тип не имеет значения NULL, поэтому при запуске команды create вы получаете:
The model item passed into the dictionary is null, but this dictionary requires a non-null model item of type 'System.DateTime'.
Кто-нибудь знает, как изменить код, чтобы сделать создание работающим?