Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 19676|Svare: 2

[Tips] MVC-metamodellmetadata ViewData.ModelMetadata

[Kopier lenke]
Publisert på 28.06.2017 21:12:49 | | | |

ModelMetaData er et viktig konsept innen MVC, inkludert, men ikke begrenset til, typen modell, hvilke attributter modellen inneholder, hvilke typer attributter som finnes, og hvilke egenskaper som finnes på attributtene.

ASP.NET MVC3.0 gir standard modellmetadata DataAnnotationsModelMetadata arver fra ModelMetadata (i tillegg tilbyr systemet standardmodellmetadataleverandøren DataAnnotationsModelMetadataProvider)

offentlig klasse DataAnnotasjonerModellMetadata : ModellMetadata

Dens konstruktør er som følger

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


DataAnnotationsModelMetadata-klassen har flere ofte brukte egenskaper

DisplayName-visningsnavn, DisplayFormatString-formatstreng

TemplateHint får en verdi for å velge hvilken mal du skal bruke


For DisplayName bruker metoden LabelFor<TModel, TValue> denne egenskapen for å generere etikettteksten.  Det betyrNår DispalyName-egenskapen er definert på modellen vår, bruker vi html.editForModel()-metoden i visningenDen vil automatisk vise etiketttaggen " <label for="brukernavn" > navn </ for denne attributten</label> til modellen.

  

[display( name="name",order=2)] //order-attributtet endrer rekkefølgen på html-siden
  offentlig strengbrukernavn { get; sett; }




HTML-kildekode:




Display-egenskapen som brukes på brukernavnattributtet er System.ComponentModel.DataAnnotations.DisplayAttribut-klassen, som gir en generisk funksjon som lar deg spesifisere lokaliserbare strenger for typen og medlemmet i entitetsdivisjonsklassen


Det finnes også funksjoner fra System.Web.MVC og System.ComponentModel.DataAnnotations, hvis navn alle er funksjonsklasser lik XXXXAttribute, alle med spesifikke bruksområder, noen begrenser modellegenskaper, noen begrenser Contrller, noen begrenser handlinger, osv.


Følgende er en liste over innebygde og ofte brukte featureklasser i disse to navnerommene

1) System.Web.MVC-rom

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

HiddenInputAttribute

ActionFilterAttribute representerer basisklassen til alle action-filter-egenskaper

HttpDeleteAttribut-klassen, som representerer en egenskap som brukes til å begrense operasjonsmetoden slik at metoden kun håndterer HTTP DELETE-forespørsler

HttpGetAttribute, et HttpPostAttributt-attributt som begrenser operasjonsmetoden til kun å behandle PUT-forespørsler

HttpPutAttribute representerer en egenskap som brukes til å begrense operasjonsmetoden slik at metoden kun håndterer HTTP PUT-forespørsler.


Eksempel: ActionNameAttribute spesifiserer det faktiske handlingsnavnet på handlingen, og bruken er som følger

[ActionName()]

offentlig ActionResult Index()


Eksempel: Klassen HiddenInputAttribut, som representerer en egenskap som indikerer om en egenskapsverdi eller feltverdi skal gjengives som et skjult inndataelement




Foregående:[A] MySql.Data.MySqlClient.MySqlConnection kan ikke kastes til [B]MySql.Data.MySqlC...
Neste:Uncaught TypeError: Kan ikke sette egenskapen 'unobtrusive' til udefinert
 Vert| Publisert på 28.06.2017 21:14:05 |
Modellmetadata



 Vert| Publisert på 01.12.2017 16:53:12 |


ViewData for å få eiendomskoden:

ViewDataDictionary viewData2=ny ViewDataDictionary(ViewData["Test"]);
viewData2.ModelMetadata.Properties;
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com