Я прочитал пост Скотта Хансельмана на эту тему. Я нашел другую статью , которая кажется более простым подходом. Второй из которых я решил попробовать.
Однако первая часть создания шаблонов Editor не работает для меня. Я скопировал DateTime.ascx и TimeSpan.ascx, автор написал их. Затем я разделил поля в моем представлении.
<div class="editor-label">
<%= Html.LabelFor(model => model.LeaveRequest.DateOfLeave)%>
</div>
<div class="editor-field">
<div class="date-container">
<%= Html.TextBoxFor(model => model.LeaveRequest.DateOfLeave.Date)%>
</div>
<div class="time-container">
<%= Html.TextBoxFor(model => model.LeaveRequest.DateOfLeave.TimeOfDay)%>
</div>
<div class="clear">
<%= Html.ValidationMessageFor(model => model.LeaveRequest.DateOfLeave)%>
</div>
</div>
Проблема, с которой я столкнулся, заключается в том, что поведение, которое я получаю, отличается от того, что объяснил автор, как и должно было случиться. Вот скриншот моих результатов.
Должно быть, я что-то упустил, но не могу сказать, что. Я прочитал эту статью несколько раз и не вижу, что мне не хватает. Я предполагаю, что должно быть что-то, чтобы сообщить программе новые шаблоны EditorTemplates, но я не знаю как.