2015-01-06 3 views
1

У меня есть вид редактирования. Заполняется ViewModel, в котором пользователь может редактировать и отправлять.DataAnnotation, не отображающий данные, хранящиеся в ViewModel

<div class="form-group"> 
     <strong>Date Effective:</strong> 
     <div class="col-md-10"> 
      <p> 
       @Html.EditorFor(model => model.storeConfiguration.DateEffective) 
       @Html.ValidationMessageFor(model => model.storeConfiguration.DateEffective) 
     </div> 
    </div> 

Модель вид содержит:

public DateTime DateEffective { get; set; } 

Это показал дату в виде строки и позволила легко изменения. Однако я наткнулся на аннотации данных и обнаружил, что добавив [DataType(DataType.Date)], я смог получить полезный инструмент для выбора даты.

К сожалению, при использовании в моем представлении редактирования выше он показывает пустой выбор даты, а не показывает дату, которая находится в ViewModel.

Возможно ли получить этот инструмент для выбора даты, не удаляя данные ViewModel из моего редактирования?

EDIT:

При попытке отследить эту ошибку, я наткнулся на это время, глядя на «Проверить элемент»

<input class="text-box single-line" data-val="true" data-val-date="The field DateEffective must be a date." id="storeConfiguration_DateEffective" name="storeConfiguration.DateEffective" type="date" value="11/5/2014"> 

Это показывает правильное значение до сих пор хранится там, это просто не отображается пользователю.

EDIT 2:

Предварительное тестирование показало, что [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:yyyy-MM-dd}")] работает. Я не совсем понимаю это, но кажется, что это формат, который должен иметь дата для доступа к нему. Оттуда EditorFor может отображать его в инструменте выбора даты, который организован MM/dd/yyyy, который подходит для меня.

Если у кого-то есть твердый ответ о том, что это делает и почему, я буду принимать его в качестве выбранного ответа.

ответ

0

Исходя из этого SO, вопрос может быть форматом даты, в котором задано свойство value.

+0

Это то, что сообщение об ошибке, которое я только что нашел, дает. Я думаю, вы можете быть на правильном пути. 'Указанное значение '11/05/2014 'не соответствует требуемому формату,' yyyy-MM-dd'.' – NerdyFool

Смежные вопросы