MVC UpdateModel, когда имена не совпадают

Допустим, у вас есть модель, которая выглядит примерно так:

public class MyClass {
    public string Name { get; set; }
    public DateTime MyDate { get; set; }
}

Шаблон редактирования по умолчанию, предоставляемый Visual Studio, представляет собой простое текстовое поле дляMyDate имущество. Это все хорошо и хорошо, но, скажем, вам нужно разделить это на компоненты месяц / день / год, и ваша форма будет выглядеть следующим образом:

<label for="MyDate">Date:</label>
<%= Html.TextBox("MyDate-Month", Model.MyDate.Month) %>
<%= Html.TextBox("MyDate-Day", Model.MyDate.Day) %>
<%= Html.TextBox("MyDate-Year", Model.MyDate.Year) %>

Когда это будет представлено, вызовUpdateModel не будет работать, так как нет определения дляMyDate-Month, Есть ли способ добавить пользовательский связыватель в проект для обработки подобных ситуаций, или если входные данные HTML названы по-разному (по каким-либо причинам)?

Один из обходных путей, который я обнаружил, заключается в использовании JavaScript для вставки скрытого ввода в форму перед отправкой, которая объединяет поля и имеет правильное имя, но это неправильно.

Ответы на вопрос(2)

Ваш ответ на вопрос