définition dynamique de l'annotation des données displayname dans asp.net mvc
-
14-09-2020 - |
Question
J'ai une table de base de données avec les champs suivants
item_key, item_value, display_name, uihint
Je veux pouvoir spécifier dans la table de base de données quel modèle d'affichage utiliser ainsi que le nom d'affichage.
<%= Html.EditorFor(p=>pageField.item_value, pageField.uihint) %>
L'UIHint fonctionne, mais je n'arrive pas à trouver un moyen de définir le nom d'affichage de manière dynamique, le code ci-dessus produit quelque chose comme
item_value BOITE DE TEXTE
item_value BOITE DE TEXTE
item_value BOITE DE TEXTE
Où je souhaite que les titres item_values soient extraits du champ display_name.
Est-il possible de faire cela avec des annotations de données ?J'ai regardé le http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.displayattribute%28v=VS.95%29.aspx et en cherchant, mais je n'ai pas réussi à trouver d'exemples de ce que je recherche
La solution
Vous devez implémenter votre ModelMetaDataProvider personnalisé pour ce faire.Ce lien devrait vous aider à démarrer :
http://dotnetslackers.com/articles/aspnet/Customizing-ASP-NET-MVC-2-Metadata-and-Validation.aspx