ModelMetaData ir svarīgs MVC jēdziens, tostarp, bet ne tikai, modeļa veids, kādi atribūti ir modelī, kādi atribūtu veidi ir un kādas īpašības ir atribūtos.
ASP.NET MVC3.0 nodrošina noklusējuma modeļa metadatus DataAnnotationsModelMetadata pārmanto no ModelMetadata (turklāt sistēma nodrošina noklusējuma modeļa metadatu nodrošinātāju DataAnnotationsModelMetadataProvider)
publiskā klase DataAnnotationsModelMetadata : ModelMetadata
Tās konstruktors ir šāds
public DataAnnotationsModelMetadata(DataAnnotationsModelMetadataProvider provider, Type containerType, Func modelAccessor, Type modelType, string propertyName, DisplayColumnAttribute displayColumnAttribute);
Klasei DataAnnotationsModelMetadata ir vairāki bieži lietoti rekvizīti
DisplayName parādāmais nosaukums, DisplayFormatString formāta virkne
TemplateHint iegūst vērtību, lai izvēlētos, kuru veidni izmantot
Displeja nosaukumam metode LabelFor<TModel, TValue> izmanto šo rekvizītu, lai ģenerētu etiķetes tekstu. Tas nozīmēKad mūsu modelī ir definēts rekvizīts DispalyName, izmantojiet html.editForModel() metodiTas automātiski parādīs etiķetes tagu " <label for="username" > nosaukumu </ šim modeļa atribūtam</label>.
[display( name="name",order=2)] //pasūtījuma atribūts maina html lapas secību publiskā virkne lietotājvārds { get; komplekts; }
HTML avota kods:
Lietotājvārda atribūtā izmantotais rekvizīts Display ir klase System.ComponentModel.DataAnnotations.DisplayAttribute, kas nodrošina vispārīgu līdzekli, kas ļauj norādīt lokalizējamas virknes entītijas dalījuma klases tipam un dalībniekam
Ir arī funkcijas no System.Web.MVC un System.ComponentModel.DataAnnotations, kuru nosaukumi ir visi funkciju klases, kas ir līdzīgas XXXXAttribute, kurām visām ir specifiskas lietošanas jomas, dažas ierobežo modeļa īpašības, dažas ierobežo Contrller, dažas ierobežo darbības utt.
Tālāk ir saraksts ar iebūvētajām un bieži izmantotajām līdzekļu klasēm šajās divās nosaukumvietās
1) System.Web.MVC telpa
AcceptVerbsAttribute,ActionFilterAttribute,ActionNameAttribute,AsyncTimeoutAttribute,AuthorizeAttribute,BindAttribute,
HiddenInputAttribute
ActionFilterAttribute ir visu darbību filtra rekvizītu pamatklase
Klase HttpDeleteAttribute, kas apzīmē rekvizītu, kas tiek izmantots, lai ierobežotu operācijas metodi, lai metode apstrādātu tikai HTTP DELETE pieprasījumus
HttpGetAttribute — HttpPostAttribute atribūts, kas ierobežo operācijas metodi, lai apstrādātu tikai PUT pieprasījumus
HttpPutAttribute ir rekvizīts, kas tiek izmantots, lai ierobežotu operācijas metodi, lai metode apstrādātu tikai HTTP PUT pieprasījumus.
Piemērs: ActionNameAttribute norāda darbības faktisko darbības nosaukumu, un lietojums ir šāds
[ActionName()]
public ActionResult Index()
Piemērs: HiddenInputAttribute klase, kas apzīmē rekvizītu, kas norāda, vai rekvizīta vērtība vai lauka vērtība ir jāatveido kā slēpts ievades elements |