MVC4 के उत्तर दें DataType.Date EditorFor क्रोम में दिनांक मान प्रदर्शित नहीं करेगा, ठीक IE में
मॉडल में आपको निम्नलिखित प्रकार की घोषणा करने की आवश्यकता है:
[DataType(DataType.Date)]
public DateTime? DateXYZ { get; set; }
या
[DataType(DataType.Date)]
public Nullable<System.DateTime> DateXYZ { get; set; }
आपको निम्नलिखित विशेषता का उपयोग करने की आवश्यकता नहीं है:
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
Date.cshtml पर इस टेम्पलेट का उपयोग करें:
@model Nullable<DateTime>
@using System.Globalization;
@{
DateTime dt = DateTime.Now;
if (Model != null)
{
dt = (System.DateTime)Model;
}
if (Request.Browser.Type.ToUpper().Contains("IE") || Request.Browser.Type.Contains("InternetExplorer"))
{
@Html.TextBox("", String.Format("{0:d}", dt.ToShortDateString()), new { @class = "datefield", type = "date" })
}
else
{
//Tested in chrome
DateTimeFormatInfo dtfi = CultureInfo.CreateSpecificCulture("en-US").DateTimeFormat;
dtfi.DateSeparator = "-";
dtfi.ShortDatePattern = @"yyyy/MM/dd";
@Html.TextBox("", String.Format("{0:d}", dt.ToString("d", dtfi)), new { @class = "datefield", type = "date" })
}
}
मज़े करो! सादर, ब्लर्टन