Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 19676|Répondre: 2

[Pourboires] Métadonnées métamodèle MVC ViewData.ModelMetadata

[Copié le lien]
Publié sur 28/06/2017 21:12:49 | | | |

ModelMetaData est un concept important dans le MVC, incluant mais sans s’y limiter au type de modèle, aux attributs qu’il contient, aux types d’attributs présents et aux caractéristiques présentes sur ces attributs.

ASP.NET MVC3.0 fournit les métadonnées par défaut du modèle DataAnnotationsModelMetadata hérite de ModelMetadata (de plus, le système fournit le fournisseur de métadonnées de modèle par défaut DataAnnotationsModelMetadataProvider)

classe publique DataAnnotationsModelMetadata : ModelMetadata

Son constructeur est le suivant

public DataAnnotationsModelMetadata(DataAnnotationsModelMetadataProvider provider, Type containerType, Func modelAccessor, Type modelType, string propertyName, AfficherColonneAttribut afficherColonneAttribut) ;


La classe DataAnnotationsModelMetadata possède plusieurs propriétés couramment utilisées

Nom d’affichage Nom d’affichage, chaîne de format DisplayFormat String

TemplateHint obtient une valeur pour choisir quel modèle utiliser


Pour DisplayName, la méthode LabelFor<TModel, TValue> utilise cette propriété pour générer le texte de l’étiquette.  Cela signifieUne fois la propriété DispalyName définie sur notre modèle, utilisez alors la méthode html.editForModel() en vueIl affichera automatiquement l’étiquette « <étiquette pour="nom d’utilisateur » > le nom </ pour cet attribut</label> du modèle.

  

[display( name="name »,order=2)] //order change l’ordre de la page HTML
  Nom d’utilisateur de chaîne publique { get ; set ; }




Code source HTML :




La propriété Display utilisée sur l’attribut nom d’utilisateur est la classe System.ComponentModel.DataAnnotations.DisplayAttribute, qui fournit une fonctionnalité générique permettant de spécifier des chaînes localisables pour le type et le membre de la classe de division d’entité


Il existe également des fonctionnalités issues de System.Web.MVC et System.ComponentModel.DataAnnotations, dont les noms sont tous des classes de caractéristiques similaires à XXXXAttribute, chacune ayant des champs d’application spécifiques, certaines restreignant les propriétés du modèle, d’autres restreignant les Contrller, d’autres restreignant les actions, etc.


Voici une liste des classes de caractéristiques intégrées et couramment utilisées dans ces deux espaces de noms

1) Espace System.Web.MVC

AcceptVerbsAttribute,ActionFilterAttribute,ActionNameAttribute,AsyncTimeOutAttribute,AuthorizeAttribute,BindAttribute,

HiddenInputAttribute

ActionFilterAttribute représente la classe de base de toutes les propriétés du filtre d’action

classe HttpDeleteAttribute, qui représente une propriété utilisée pour restreindre la méthode d’opération afin que celle-ci ne gère que les requêtes HTTP DELETE

HttpGetAttribute, un attribut HttpPostAttribute qui restreint la méthode d’opération à traiter uniquement les requêtes PUT

HttpPutAttribute représente une propriété utilisée pour restreindre la méthode d’opération afin que la méthode ne gère que les requêtes HTTP PUT.


Exemple : ActionNameAttribute spécifie le nom réel de l’action, et son usage est le suivant

[ActionName()]

public ActionResult Index ()


Exemple : la classe HiddenInputAttribute, qui représente une propriété indiquant si une valeur de propriété ou une valeur de champ doit être rendue comme élément d’entrée caché




Précédent:[A] MySql.Data.MySqlClient.MySqlConnection ne peut pas être diffusé vers [B]MySql.Data.MySqlC...
Prochain:Uncaught TypeError : Impossible de définir la propriété « non intrusive » de indéfini
 Propriétaire| Publié sur 28/06/2017 21:14:05 |
 Propriétaire| Publié sur 01/12/2017 16:53:12 |


ViewData pour obtenir le code de propriété :

ViewDataDictionary viewData2=nouveau ViewDataDictionary(ViewData["Test"]) ;
viewData2.ModèlMetadata.Propriétés ;
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com