J'ai quelques couches de contrôles utilisateur imbrication personnalisée:Comment EditorFor Set ID et le nom des attributs HTML sur des éléments de formulaire
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-->
...
et je ont déclaré DateTime.ascx dans Shared/EditorTemplates
<%@ .... Inherit="System.Web.Mvc.ViewUserControl<dynamic>"
...
<input type="text" id="???" />
...
La question est de savoir comment définir l'attribut id d'entrée? Je sais que EditorFor fait de la magie pour les types par défaut. Par exemple, si DateTime était de type string, EditorFor définira l'ID du type d'entrée sur "Details_BirthDate" et l'attribut name sur "Details.BirthDate". Je veux savoir comment c'est fait? Parce que je veux l'utiliser pour mes types personnalisés spéciaux.
la dernière couche - Html.TextBoxFor (m => m.BirthDate) - n'est pas redondant parce que je veux le rendre pleinement sur mesure, comme datepicker et etc. Je Vraiment vouloir utiliser un contrôle personnalisé pour la dernière couche – devfreak
Voir ma mise à jour sur l'utilisation d'un modèle d'éditeur fortement typé pour DateTime. –