В ASP.NET MVC 4 Beta у меня есть объект со следующим свойством:
[DisplayFormat(DataFormatString = "{0:o}", ApplyFormatInEditMode = true)]
public virtual DateTime SavedAt { get; set; }
В представлении, созданном с помощью «Контроллера с действиями и представлениями чтения / записи, с использованием шаблона EntityFramework»,У меня есть этот код для создания редактора для него:
<div class="editor-label">
@Html.LabelFor(model => model.SavedAt)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.SavedAt)
@Html.ValidationMessageFor(model => model.SavedAt)
</div>
, который производит этот вывод:
<div class="editor-label">
<label for="SavedAt">SavedAt</label>
</div>
<div class="editor-field">
<input class="text-box single-line" data-val="true" data-val-date="The field SavedAt must be a date." data-val-required="The SavedAt field is required." id="SavedAt" name="SavedAt" type="text" value="2012-03-31T22:45:18.2244059" />
<span class="field-validation-valid" data-valmsg-for="SavedAt" data-valmsg-replace="true"></span>
</div>
Обратите внимание, что дата отформатирована как "2012-03-31T22: 45:18.2244059 ".
Если я заменю фрагмент кода вида следующим:
@Html.HiddenFor(model => model.SavedAt)
Этот код сгенерирован:
<input data-val="true" data-val-date="The field SavedAt must be a date." data-val-required="The SavedAt field is required." id="SavedAt" name="SavedAt" type="hidden" value="31/03/2012 22:45:18" />
Обратите внимание, что дата теперь отформатирована как"31/03/2012 22:45:18".
Вопрос:
Ожидается ли HiddenFor форматирование, определенное атрибутом DisplayFormat?
Если нет, что было бы хорошей альтернативой для вывода скрытого поля в нужном формате?