Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 19676|Atsakyti: 2

[Patarimai] MVC metamodelio metaduomenys ViewData.ModelMetadata

[Kopijuoti nuorodą]
Paskelbta 2017-06-28 21:12:49 | | | |

"ModelMetaData" yra svarbi MVC sąvoka, įskaitant, bet neapsiribojant, modelio tipą, kokie atributai yra modelyje, kokie atributų tipai yra ir kokios savybės yra atributuose.

ASP.NET MVC3.0 pateikia numatytuosius modelio metaduomenis DataAnnotationsModelMetadata paveldi iš ModelMetadata (be to, sistema pateikia numatytąjį modelio metaduomenų teikėją DataAnnotationsModelMetadataProvider)

viešoji klasė DataAnnotationsModelMetadata : ModelMetadata

Jo konstruktorius yra toks

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


DataAnnotationsModelMetadata klasė turi keletą dažniausiai naudojamų ypatybių

DisplayName rodomas vardas, DisplayFormatString formato eilutė

TemplateHint gauna reikšmę, kad būtų galima pasirinkti, kurį šabloną naudoti


DisplayName metodas LabelFor<TModel, TValue> naudoja šią ypatybę žymos tekstui generuoti.  Tai reiškiaKai mūsų modelyje bus apibrėžta ypatybė DispalyName, naudokite metodą html.editForModel()Automatiškai bus rodoma šio modelio atributo etiketė " <label for="username" > pavadinimas </</label>.

  

[display( name="name",order=2)] //order atributas keičia html puslapio tvarką
  viešosios eilutės vartotojo vardas { get; rinkinys; }




HTML šaltinio kodas:




Vartotojo vardo atribute naudojama ypatybė Display yra System.ComponentModel.DataAnnotations.DisplayAttribute klasė, kuri suteikia bendrąją funkciją, leidžiančią nurodyti lokalizuojamas objekto padalijimo klasės tipo ir nario eilutes


Taip pat yra funkcijų iš System.Web.MVC ir System.ComponentModel.DataAnnotations, kurių pavadinimai yra visi funkcijų klasės, panašios į XXXXAttribute, kurios visos turi specifines naudojimo sritis, kai kurios riboja modelio ypatybes, kai kurios riboja Contrller, kai kurios riboja veiksmus ir kt.


Toliau pateikiamas šiose dviejose vardų erdvėse įtaisytųjų ir dažniausiai naudojamų funkcijų klasių sąrašas

1) System.Web.MVC erdvė

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

HiddenInputAttribute

ActionFilterAttribute nurodo visų veiksmų filtro ypatybių pagrindinę klasę

HttpDeleteAttribute klasė, kuri reiškia ypatybę, naudojamą operacijos metodui apriboti, kad metodas apdorotų tik HTTP DELETE užklausas

HttpGetAttribute, HttpPostAttribute atributas, apribojantis operacijos metodą tik PUT užklausoms apdoroti

HttpPutAttribute reiškia ypatybę, naudojamą operacijos metodui apriboti, kad metodas apdorotų tik HTTP PUT užklausas.


Pavyzdys: ActionNameAttribute nurodo faktinį veiksmo pavadinimą, o naudojimas yra toks

[Veiksmo pavadinimas()]

public ActionResult Index()


Pavyzdys: HiddenInputAttribute klasė, nurodanti ypatybę, nurodančią, ar ypatybės reikšmė ar lauko reikšmė turi būti pateikiama kaip paslėptas įvesties elementas




Ankstesnis:[A] MySql.Data.MySqlClient.MySqlConnection negalima perduoti į [B]MySql.Data.MySqlC...
Kitą:Uncaught TypeError: Negalima nustatyti ypatybės "neįkyrus" neapibrėžtas
 Savininkas| Paskelbta 2017-06-28 21:14:05 |
Modelio metaduomenys



 Savininkas| Paskelbta 2017-12-01 16:53:12 |


Peržiūrėti duomenis, kad gautumėte nuosavybės kodą:

ViewDataDictionary viewData2=naujas ViewDataDictionary(ViewData["Test"]);
viewData2.ModelMetadata.Properties;
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com