У меня есть несколько уровней вложенности пользовательских элементов управления:
RegisterUser.aspx
<%@ .... Inherit="System.Web.Mvc.ViewPage<RegisterUserViewModel>"
...
<%= Html.EditorFor(m => m.Details) %>
...
UserDetails.ascx
<%@ .... Inherit="System.Web.Mvc.ViewUserControl<UserDetails>"
...
<%= Html.EditorFor(m => m.BirthDate) %> <!--BirthDate is of type DateTime-->
...
и я объявил DateTime.ascx в Shared / EditorTemplates
<%@ .... Inherit="System.Web.Mvc.ViewUserControl<dynamic>"
...
<input type="text" id="???" />
...
Вопрос в том, как установить атрибут ввода идентификатора? Я знаю, что EditorFor создает магию для типов по умолчанию. Например, если DateTime имел тип string, EditorFor установит идентификатор типа ввода равным «Details_BirthDate», а атрибут имени - «Details.BirthDate». Я хочу знать, как это делается? Потому что я хочу использовать его для своих специальных пользовательских типов.