Pourquoi ne puis-je pas transmettre d'attributs html à EditorFor()
? par exemple;
<%= Html.EditorFor(model => model.Control.PeriodType,
new { disabled = "disabled", readonly = "readonly" }) %>
Je ne veux pas utiliser de métadonnées
Mise à jour : la solution était d'appeler ceci depuis la vue:
<%=Html.EditorFor( model => model.Control.PeriodEndDate, new {Modifiable=model.Control.PeriodEndDateModifiable})%>
et utiliser ViewData["Modifiable"]
dans mon EditorTemplates / String.ascx personnalisé où j'ai une logique de vue qui détermine s'il faut ajouter des attributs en lecture seule et / ou désactivés à l'entrée.L'objet anonyme transmis EditorFor()
est un paramètre appelé additionalViewData
et ses propriétés sont transmises au modèle d'éditeur dans le ViewData
collection.