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

Était-ce utile?

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top