2014-02-04 2 views
0

Как реализовать EditorFor DateTime?ASP.NET MVC EditorFor DateTime

У меня уже есть редакторы для даты и времени отдельно. Могу ли я использовать его для редактора DateTime?

Есть ли какие-либо предложения, как это сделать?

редактор Дата:

@model DateTime 

@Html.TextBox(string.Empty, (Model != default(DateTime) ? Model.ToShortDateString() : string.Empty), new { @class = "date form-control" }) 

Время редактор:

@model DateTime? 

@Html.TextBox(string.Empty, (Model.HasValue ? Model.Value.ToString("HH:mm") : string.Empty), new { @class = "time form-control" }) 

Я использую JQuery UI DatePicker для даты редактора. Timepicker также является плагином jQuery.

+0

Разве вы не можете просто совместить их? Например, '@ Html.EditorFor (Model.TheDate) - @ Html.EditorFor (Model.TheTime)'. Вам нужны разные форматы? –

+0

@AndreiV это сгенерирует два входа ... не очень подходит для привязки к модели, я бы сказал. –

+0

Не могли бы вы показать код редакторов даты и времени? Возможно, вы можете сделать рефакторинг или использовать пользовательский HtmlHelper вместо шаблонов ... –

ответ

3

Создать DateTime.cshtml в Views/Shared/EditorTemplates, который содержит:

@inherits System.Web.Mvc.WebViewPage<System.DateTime?> 
@Html.TextBox("", string.Format("{0:yyyy-MM-dd HH:mm}", 
       Model.HasValue ? Model : null), new { @class = "dateTimePicker" }) 

И использовать некоторые JQuery DatePicker. подумайте, что это работает со стандартным jquery ui one.

0

Могу ли я использовать его для редактора DateTime?

С этим JQuery TimePicker plugin у вас может быть определенно одно поле редактора.