Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 19676|Svar: 2

[Tips] MVC-metamodellmetadata ViewData.ModelMetadata

[Kopiera länk]
Publicerad på 2017-06-28 21:12:49 | | | |

ModelMetaData är ett viktigt begrepp inom MVC, inklusive men inte begränsat till modelltypen, vilka attribut modellen innehåller, vilka typer av attribut som finns och vilka egenskaper som finns på attributen.

ASP.NET MVC3.0 tillhandahåller standardmetadata DataAnnotationsModelMetadata ärver från ModelMetadata (dessutom tillhandahåller systemet standardmodellmetadataleverantören DataAnnotationsModelMetadataProvider)

publik klass DataAnnotationerModellMetadata : Modellmetadata

Dess konstruktör är som följer

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


DataAnnotationsModelMetadata-klassen har flera vanligt använda egenskaper

DisplayName-visningsnamn, DisplayFormatString-formatsträng

TemplateHint får ett värde för att välja vilken mall som ska användas


För DisplayName använder metoden LabelFor<TModel, TValue> denna egenskap för att generera etiketttexten.  Det betyderNär egenskapen DispalyName är definierad i vår modell, använd då metoden html.editForModel() i visningenDen visar automatiskt etiketttaggen " <label for="username" > namn </ för detta attribut</label> i modellen.

  

[display( name="name",order=2)] //order-attributet ändrar ordningen på html-sidan
  publik stränganvändarnamn { get; set; }




HTML-källkod:




Display-egenskapen som används på användarnamnsattributet är klassen System.ComponentModel.DataAnnotations.DisplayAttribut, som ger en generisk funktion som låter dig specificera lokaliserbara strängar för typen och medlemmen i entitetsdivisionsklassen


Det finns också funktioner från System.Web.MVC och System.ComponentModel.DataAnnotations, vars namn alla är funktionsklasser liknande XXXXAttribute, alla med specifika användningsområden, vissa begränsar modellens egenskaper, vissa begränsar Contrller, vissa begränsar åtgärder, osv.


Följande är en lista över inbyggda och vanligt använda funktionsklasser i dessa två namnrymder

1) System.Web.MVC-utrymme

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

HiddenInputAttribute

ActionFilterAttribute representerar basklassen för alla action-filter-egenskaper

HttpDeleteAttribut-klassen, som representerar en egenskap som används för att begränsa operationsmetoden så att metoden endast hanterar HTTP DELETE-förfrågningar

HttpGetAttribute, ett HttpPostAttribut-attribut som begränsar operationsmetoden till att endast behandla PUT-förfrågningar

HttpPutAttribute representerar en egenskap som används för att begränsa operationsmetoden så att metoden endast hanterar HTTP PUT-förfrågningar.


Exempel: ActionNameAttribute specificerar det faktiska åtgärdsnamnet på åtgärden, och användningen är som följer

[ActionName()]

publikt ActionResult Index()


Exempel: Klassen HiddenInputAttribut, som representerar en egenskap som anger om ett egenskapsvärde eller fältvärde ska renderas som ett dolt indataelement




Föregående:[A] MySql.Data.MySqlClient.MySqlConnection kan inte kastas till [B]MySql.Data.MySqlC...
Nästa:Uncaught TypeError: Kan inte sätta egenskapen 'ostörande' för odefinierad
 Hyresvärd| Publicerad på 2017-06-28 21:14:05 |
ModelMetadata



 Hyresvärd| Publicerad på 2017-12-01 16:53:12 |


ViewData för att få egendomskoden:

ViewDataDictionary viewData2=ny ViewDataDictionary(ViewData["Test"]);
viewData2.ModelMetadata.Properties;
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com