Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 19676|Odpoveď: 2

[Tipy] MVC metamodel metadata ViewData.ModelMetadata

[Kopírovať odkaz]
Zverejnené 28. 6. 2017 21:12:49 | | | |

ModelMetaData je dôležitý pojem v MVC, vrátane, ale nielen, typu modelu, aké atribúty model obsahuje, aké typy atribútov sa nachádzajú a aké charakteristiky sú na atribútoch.

ASP.NET MVC3.0 poskytuje predvolené metadáta modelu DataAnnotationsModelMetadata dedí z ModelMetadata (okrem toho systém poskytuje predvoleného poskytovateľa metadát modelu DataAnnotationsModelMetadataProvider)

public class DataAnnotationsModelMetadata : ModelMetadata

Jeho konštruktor je nasledovný

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


Trieda DataAnnotationsModelMetaData má niekoľko bežne používaných vlastností

DisplayName, zobrazenie mena, formátový reťazec DisplayFormatString

TemplateHint získa hodnotu na výber šablóny


Pre DisplayName používa metóda LabelFor<TModel, TValue> túto vlastnosť na generovanie textu štítku.  Znamená toKeď je vlastnosť DispalyName definovaná na našom modeli, použite metódu html.editForModel() v zobrazeníAutomaticky zobrazí značku "<label for="username" > názov </ pre tento atribút</label> modelu.

  

[display( name="name",order=2)] //attribute mení poradie HTML stránky
  public string username { get; set; }




Zdrojový kód HTML:




Vlastnosť Display používaná v atribúte používateľského mena je trieda System.ComponentModel.DataAnnotations.DisplayAtribút, ktorá poskytuje všeobecnú funkciu umožňujúcu špecifikovať lokalizovateľné reťazce pre typ a člena triedy delenia entity


Sú tu aj funkcie od System.Web.MVC a System.ComponentModel.DataAnnotations, ktorých názvy sú všetky triedy funkcií podobné XXXXAttribute, pričom každá má špecifické rozsahy použitia, niektoré obmedzujú vlastnosti modelu, niektoré Contrller, niektoré Actions a podobne.


Nasleduje zoznam vstavaných a bežne používaných tried príznakov v týchto dvoch menných priestoroch

1) Priestor System.Web.MVC

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

HiddenInputAttribute

ActionFilterAttribute predstavuje základnú triedu všetkých vlastností akčného filtra

Trieda HttpDeleteAttribut, ktorá predstavuje vlastnosť používanú na obmedzenie operačnej metódy tak, aby táto metóda spracovávala iba HTTP DELETE požiadavky

HttpGetAttribute, atribút HttpPostAttribute, ktorý obmedzuje operačnú metódu len na spracovanie PUT požiadaviek

HttpPutAttribute predstavuje vlastnosť, ktorá sa používa na obmedzenie operačnej metódy tak, aby metóda spracovávala iba HTTP PUT požiadavky.


Príklad: ActionNameAttribute špecifikuje skutočný názov akcie a jeho použitie je nasledovné

[ActionName()]

verejný ActionResult Index()


Príklad: Trieda HiddenInputAtribút, ktorá predstavuje vlastnosť určujúcu, či by mala byť hodnota vlastnosti alebo pole zobrazená ako skrytý vstupný prvok




Predchádzajúci:[A] MySql.Data.MySqlClient.MySqlConnection sa nedá vysielať na [B]MySql.Data.MySqlC...
Budúci:Nezachytená typová chyba: Nemožno nastaviť vlastnosť 'nerušivé' alebo nedefinované
 Prenajímateľ| Zverejnené 28. 6. 2017 21:14:05 |
 Prenajímateľ| Zverejnené 1. 12. 2017 16:53:12 |


ViewData na získanie kódu nehnuteľnosti:

ViewDataDictionary viewData2=nový ViewDataDictionary(ViewData["Test"]);
viewData2.ModelMetadata.Properties;
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com