ASP.NET MVC EditorFor DateTime

2019-08-23 04:52发布

问题:

How to implement EditorFor DateTime?

I already have editors for Date and Time separately. Can I use it for my DateTime editor?

Are there any suggestions, how to do it?

Date editor:

@model DateTime

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

Time editor:

@model DateTime?

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

I am using jQuery UI datepicker for date editor. Timepicker is also jQuery plugin.

回答1:

Create DateTime.cshtml in Views/Shared/EditorTemplates that contains:

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

And use some jquery datepicker. think this one works with default jquery ui one.



回答2:

Can I use it for my DateTime editor?

With this JQuery TimePicker plugin you can definitely have one Editor field.