Html.HiddenFor
arayarak (yanlış ve) bir farklı
DateTime
hale getirecek bulduk
DateTime biçimlendirir .Html.HiddenFor eğer i <code>Html.DisplayFor</code> aramaya oldu yanlış ASP.NET
Modelin değerini alması, bir DisplayFormat dekoratörüne sahip ve bu, Html.DisplayFor
için çalışıyor gibi görünüyor. Söz konusu özellik olarak yazılır:
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public DateTime MeetingStartDate { get; set; }
Ve görünüm, bu kullanarak: HiddenFor value="04/16/2012 00:00:00"
olarak verecek ancak
@Html.DisplayFor(model => model.MeetingStartDate)
@Html.HiddenFor(model => model.MeetingStartDate)
DisplayFor çağrı 16/04/2012
olarak tarih hale getirecek.
Geçerli kültürü değiştirerek DateTimeFormat
'u ayarlamayı denedim, ancak bunun hiçbir etkisi olmadı.
Geçerli kültür en-GB'tır, bu yüzden en-ABD tarihlerini yazdırmamak gerekir.
Değer gizlenmişse, neden biçimlendirilmiş olduğu önemli? Muhtemelen sadece geri dönüşte tekrar ayrıştırılması gerekiyor ...* insan * tüketimi için değilse, formatın önemi olmamalıdır. –
@JonSkeet Herhangi bir nedenden ötürü, bu model, en-GB'de çalışıyorum, ancak baskıyı en-ABD tarihini geçersiz kılar. Ancak * sadece * bu gizli öğe için –
Özel bir düzenleyici şablonu kullanabilirsiniz. Yanıta bakın: http://stackoverflow.com/questions/8305262/asp-net-mvc-format-of-hidden-datetime –