ModelMetaData on oluline mõiste MVC-s, mis hõlmab, kuid mitte ainult, mudeli tüübi, omaduste, atribuutide, atribuutide ja omaduste määramisega.
ASP.NET MVC3.0 pakub vaikimisi mudeli metaandmeid, mida DataAnnotationsModelMetadata pärib ModelMetadatast (lisaks pakub süsteem vaikimisi mudeli metaandmete pakkujat DataAnnotationsModelMetadataProvider)
public class DataAnnotationsMudelMetadata : mudel Metadata
Selle konstruktor on järgmine
public DataAnnotationsModelMetadata(DataAnnotationsModelMetadataProvider provider, Type containerType, Func modelAccessor, Type modelType, string propertyName, DisplayColumnAttribute displayColumnAttribute);
DataAnnotationsModelMetadata klassil on mitu levinud omadust
DisplayName kuvanimi, DisplayFormatString formaadistring
TemplateHint saab väärtuse, millega valida, millist malli kasutada
DisplayName puhul kasutab LabelFor<TModel, TValue> meetod seda omadust sildi teksti genereerimiseks. See tähendab, etKui DispalyName omadus on mudelis defineeritud, kasuta vaates html.editForModel() meetoditSee kuvab automaatselt selle mudeli atribuudi sildi "<label for="username" > nime </</label>.
[display( name="name",order=2)] //order atribuut muudab html-lehe järjekorda avaliku stringi kasutajanimi { get; seatud; }
HTML lähtekood:
Kasutajanime atribuudi Display-omadus on System.ComponentModel.DataAnnotations.DisplayAttribute klass, mis pakub üldist funktsiooni, mis võimaldab määrata lokaliseeritavaid stringe entiteedi jaotusklassi tüübi ja liikme jaoks
On olemas ka funktsioone System.Web.MVC ja System.ComponentModel.DataAnnotations platvormidest, mille nimed on kõik omadusklassid, sarnased XXXXAttribute'ile, millel kõigil on spetsiifiline kasutusvaldkond, mõned piiravad mudeli omadusi, mõned piiravad Contrllerit, mõned piiravad tegevusi jne.
Järgnevalt on toodud nende kahe nimeruumi sisseehitatud ja laialdaselt kasutatavate funktsiooniklasside nimekiri
1) System.Web.MVC ruum
AcceptVerbsAttribute,ActionFilterAttribute,ActionNameAttribute,AsyncTimeoutAttribute,AuthorizeAttribute,BindAttribute,
HiddenInputAttribute
ActionFilterAttribute esindab kõigi tegevusfiltri omaduste baasklassi
HttpDeleteAttribute klass, mis esindab omadust, mida kasutatakse operatsioonimeetodi piiramiseks nii, et meetod käsitleb ainult HTTP DELETE päringuid
HttpGetAttribute, HttpPostAttribute atribuut, mis piirab operatsioonimeetodit ainult PUT päringute töötlemiseks
HttpPutAttribute esindab omadust, mida kasutatakse operatsioonimeetodi piiramiseks nii, et meetod käsitleb ainult HTTP PUT päringuid.
Näide: ActionNameAttribute määrab tegevuse tegeliku tegevusnime ja kasutus on järgmine
[ActionName()]
public ActionResult Index()
Näide: HiddenInputAttribute klass, mis esindab omadust, mis näitab, kas omaduse või välja väärtus tuleks kuvada peidetud sisendelemendina |