MVC UpdateModel quando os nomes não correspondem

Digamos que você tenha um modelo que se pareça com isso:

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

O modelo de edição padrão que o Visual Studio oferece é uma caixa de texto simples para oMyDate propriedade. Tudo isso é bom, mas digamos que você precise dividir isso em seus componentes Mês / Dia / Ano, e seu formulário se parece com:

<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) %>

Quando isso é enviado, uma chamada paraUpdateModel não vai funcionar, pois não há uma definição paraMyDate-Month. Existe uma maneira de adicionar um fichário personalizado ao projeto para lidar com situações como essa ou se as entradas HTML tiverem nomes diferentes (por qualquer motivo)?

Uma solução que eu encontrei é usar JavaScript para injetar uma entrada oculta no formulário antes do envio que concatena os campos e é nomeado corretamente, mas isso parece errado.

questionAnswers(2)

yourAnswerToTheQuestion