Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 19676|Răspunde: 2

[Bacșișuri] Metadate metamodel MVC ViewData.ModelMetadata

[Copiază linkul]
Postat pe 28.06.2017 21:12:49 | | | |

ModelMetaData este un concept important în MVC, incluzând, dar fără a se limita la, tipul modelului, atributele pe care le conține modelul, ce tipuri de atribute există și ce caracteristici se află pe aceste atribute.

ASP.NET MVC3.0 oferă metadatele implicite ale modelului DataAnnotationsModelMetadata moștenește de la ModelMetadata (în plus, sistemul oferă furnizorul implicit de metadate ale modelului DataAnnotationsModelMetadataProvider)

clasa publică DataAnnotationsModelMetadata : ModelMetadata

Constructorul său este următorul

public DataAnnotationsModelMetadata(DataAnnotationsModelMetadataProvider furnizor, Tip containerType, Func modelAccessor, Type modelType, string propertyName, DisplayColumnAttribute displayColumnAttribute);


Clasa DataAnnotationsModelMetadata are mai multe proprietăți utilizate frecvent

Nume de afișare DisplayName, șirul de format DisplayFormatString

TemplateHint primește o valoare pentru a alege ce șablon să folosească


Pentru DisplayName, metoda LabelFor<TModel, TValue> folosește această proprietate pentru a genera textul etichetei.  Asta înseamnăOdată ce proprietatea DispalyName este definită pe modelul nostru, folosiți metoda html.editForModel() în vizualizareVa afișa automat eticheta "<etichetă pentru="username" > numele </ pentru acest atribut</label> al modelului.

  

[display( name="name",order=2)] //order modifică ordinea paginii html
  nume de utilizator public string { get; set; }




Cod sursă HTML:




Proprietatea Display folosită pe atributul nume de utilizator este clasa System.ComponentModel.DataAnnotations.DisplayAttribute, care oferă o caracteristică generică ce permite specificarea șirurilor localizabile pentru tipul și membrul clasei de diviziune a entității


Există și funcționalități din System.Web.MVC și System.ComponentModel.DataAnnotations, ale căror nume sunt toate clase de caracteristici similare cu XXXXAttribute, toate având domenii specifice de utilizare, unele restricționând proprietăți ale modelului, altele restricționând Contrller, altele restricționând acțiuni etc.


Următoarea este o listă a claselor de caracteristici încorporate și utilizate frecvent în aceste două spații de nume

1) Spațiul System.Web.MVC

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

HiddenInputAttribute

ActionFilterAttribute reprezintă clasa de bază a tuturor proprietăților filtrului de acțiune

HttpDeleteAttribute, care reprezintă o proprietate folosită pentru a restricționa metoda de operare astfel încât metoda să gestioneze doar cererile HTTP DELETE

HttpGetAttribute, un atribut HttpPostAttribute care restricționează metoda de operare să proceseze doar cererile PUT

HttpPutAttribute reprezintă o proprietate folosită pentru a restricționa metoda de operare, astfel încât metoda să gestioneze doar cererile HTTP PUT.


Exemplu: ActionNameAttribute specifică numele real al acțiunii, iar utilizarea este următoarea

[ActionName()]

Public ActionResult Index()


Exemplu: Clasa HiddenInputAttribute, care reprezintă o proprietate ce indică dacă o valoare de proprietate sau o valoare a câmpului trebuie redată ca element de intrare ascuns




Precedent:[A] MySql.Data.MySqlClient.MySqlConnection nu poate fi transmis către [B]MySql.Data.MySqlC...
Următor:Uncaught TypeError: Nu se poate seta proprietatea "neintruzive" din nedefinit
 Proprietarul| Postat pe 28.06.2017 21:14:05 |
 Proprietarul| Postat pe 01.12.2017 16:53:12 |


ViewData pentru a obține codul proprietății:

ViewDataDictionary viewData2=noul ViewDataDictionary(ViewData["Test"]);
viewData2.ModelMetadata.Properties;
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com