Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 19676|Válasz: 2

[Tippek] MVC metamodell metadata ViewData.ModelMetadata

[Linket másol]
Közzétéve 2017. 06. 28. 21:12:49 | | | |

A ModelMetaData fontos fogalom az MVC-ben, beleértve a modell típusát, a modell attribútumait, milyen attribútumokat tartalmaz, milyen attribútumtípusokat tartalmaznak, és milyen jellemzők vannak az attribútumokon.

ASP.NET MVC3.0 biztosítja az alapértelmezett modellmetaadatot, amelyet DataAnnotationsModelMetadata örököl a ModelMetadata-tól (ezen felül a rendszer biztosítja az alapértelmezett modellmetaadat-szolgáltatót, a DataAnnotationsModelMetadataProvider-t)

public class DataAnnotationsModelMetadata : ModelMetadata

A konstruktorja a következő

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


A DataAnnotationsModelMetadata osztálynak több gyakran használt tulajdonsága van

DisplayName megjelenítési neve, DisplayFormatString formátum string

A TemplateHint kap egy értéket, amellyel kiválaszthatja, melyik sablont használja


DisplayName esetén a LabelFor<TModel, TValue> módszer ezt a tulajdonságot használja a címke szöveg generálásához.  Ez azt jelenti, hogyMiután a DispalyName tulajdonság definiálva van a modellünkön, használjuk a html.editForModel() metóduszt a megjelenítésbenAutomatikusan megjeleníti a "<label for="username" > név </ címet ehhez a modell attribútumjához</label>.

  

[display( name="name",order=2)] //order attribútum megváltoztatja a html oldal sorrendjét
  public string username { get; Szett; }




HTML forráskód:




A felhasználónév attribútumban használt Display tulajdonság a System.ComponentModel.DataAnnotations.DisplayAttribute osztály, amely egy általános funkciót biztosít, amely lehetővé teszi a lokalizálható stringek megadását az entitás osztály típusához és tagjához


Vannak olyan funkciók is, amelyek a System.Web.MVC és a System.ComponentModel.DataAnnotations oldalakról szólnak, amelyek neve mind hasonló tulajdonságosztályok, amelyek a XXXXAttribute-hoz hasonlóak, mindegyiknek meghatározott felhasználási területe van: néhány korlátozó modell tulajdonságot, néhány korlátozó modell tulajdonságot, néhány korlátozó műveletet, stb.


Az alábbiakban felsoroljuk a beépített és leggyakrabban használt funkcióosztályokat ebben a két névtérben

1) System.Web.MVC tér

AcceptVerbsAttribute,ActionFilterAttribute,ActionNameAttribute,AsyncTimeoutAttribute,AuthorizeAttribute,BindAttribute,

HiddenInputAttribute

Az ActionFilterAttribute az összes akciószűrő tulajdonság alaposztályát képviseli

HttpDeleteAttribute osztály, amely egy olyan tulajdonságot képvisel, amelyet a műveleti metódus korlátozására használnak, hogy a metódus csak HTTP DELETE kéréseket kezeljen

A HttpGetAttribute, egy HttpPostAttribute attribútum, amely korlátozza az üzemeltetési módszert kizárólag PUT kérések feldolgozására

A HttpPutAttribute egy olyan tulajdonságot képvisel, amelyet az operációs metódus korlátozására használnak, hogy a metódus csak HTTP PUT kéréseket kezeljen.


Példa: Az ActionNameAttribute megadja az akció tényleges műveletnevét, és a használat a következő:

[ActionName()]

public ActionResult Index()


Példa: A HiddenInputAttribute osztály, amely egy olyan tulajdonságot képvisel, amely jelzi, hogy egy tulajdonság értéket vagy mezőértéket rejtett bemeneti elemként kell megjeleníteni.




Előző:[A] MySql.Data.MySqlClient.MySqlConnection nem lehet castelni [B]MySql.Data.MySqlC...
Következő:Uncaught TypeError: Nem lehet beállítani 'unobtrusive' tulajdonságot az undefined kategóriában
 Háziúr| Közzétéve 2017. 06. 28. 21:14:05 |
 Háziúr| Közzétéve 2017. 12. 01. 16:53:12 |


ViewData a tulajdonságkód megszerzéséhez:

ViewDataDictionary viewData2=új ViewDataDictionary(ViewData["Test"]);
viewData2.ModelMetadata.Properties;
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com