Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 19676|Svar: 2

[Tips] MVC-metamodelmetadata ViewData.ModelMetadata

[Kopier link]
Opslået på 28/06/2017 21.12.49 | | | |

ModelMetaData er et vigtigt begreb i MVC, herunder men ikke begrænset til modeltypen, hvilke attributter modellen indeholder, hvilke typer attributter der findes, og hvilke karakteristika der findes på attributterne.

ASP.NET MVC3.0 leverer standardmodelmetadata, DataAnnotationsModelMetadata arver fra ModelMetadata (derudover leverer systemet standardmodelmetadata-udbyderen DataAnnotationsModelMetadataProvider)

offentlig klasse DataAnnotationerModelMetadata : ModelMetadata

Dens konstruktør er som følger

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


DataAnnotationsModelMetadata-klassen har flere almindeligt anvendte egenskaber

DisplayName displaynavn, DisplayFormatString formatstreng

TemplateHint får en værdi til at vælge, hvilken skabelon der skal bruges


For DisplayName bruger LabelFor<TModel, TValue> metoden denne egenskab til at generere labelteksten.  Det betyderNår DispalyName-egenskaben er defineret på vores model, så brug html.editForModel()-metoden i visningenDen vil automatisk vise label-tagget " <label for="brugernavn" > navn </ for denne attribut</label> i modellen.

  

[display( name="name",order=2)] //order-attributten ændrer rækkefølgen på html-siden
  offentlig streng brugernavn { get; sat; }




HTML-kildekode:




Display-egenskaben, der bruges på brugernavn-attributtet, er System.ComponentModel.DataAnnotations.DisplayAttribut-klassen, som giver en generisk funktion, der gør det muligt at specificere lokaliserbare strenge for typen og medlemmet af entitetsdivisionsklassen


Der er også funktioner fra System.Web.MVC og System.ComponentModel.DataAnnotations, hvis navne alle er featureklasser lignende XXXXAttribute, som alle har specifikke anvendelsesområder, nogle begrænser modelegenskaber, nogle begrænser Contrller, nogle begrænser handlinger osv.


Følgende er en liste over indbyggede og almindeligt anvendte featureklasser i disse to navnerum

1) System.Web.MVC-rum

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

HiddenInputAttribute

ActionFilterAttribute repræsenterer basisklassen af alle action-filter egenskaber

HttpDeleteAttribut-klassen, som repræsenterer en egenskab, der bruges til at begrænse operationsmetoden, så metoden kun håndterer HTTP DELETE-anmodninger

HttpGetAttribute, en HttpPostAttribut-attribut, der begrænser operationsmetoden til kun at behandle PUT-forespørgsler

HttpPutAttribute repræsenterer en egenskab, der bruges til at begrænse operationsmetoden, så metoden kun håndterer HTTP PUT-forespørgsler.


Eksempel: ActionNameAttribute angiver handlingens faktiske handlingsnavn, og brugen er som følger

[ActionName()]

offentlig ActionResult Indeks()


Eksempel: Klassen HiddenInputAttribut, som repræsenterer en egenskab, der angiver, om en egenskabsværdi eller feltværdi skal gengives som et skjult inputelement




Tidligere:[A] MySql.Data.MySqlClient.MySqlConnection kan ikke castes til [B]MySql.Data.MySqlC...
Næste:Uncaught TypeError: Kan ikke sætte egenskaben 'unobtrusive' for udefineret
 Udlejer| Opslået på 28/06/2017 21.14.05 |
ModelMetadata



 Udlejer| Opslået på 01/12/2017 16.53.12 |


ViewData for at få ejendomskoden:

ViewDataDictionary viewData2=ny ViewDataDictionary(ViewData["Test"]);
viewData2.ModelMetadata.Properties;
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com