Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 19676|Odpowiedź: 2

[Napiwki] Metadata metamodelu MVC ViewData.ModelMetadata

[Skopiuj link]
Opublikowano 28.06.2017 21:12:49 | | | |

ModelMetaData to ważne pojęcie w MVC, obejmujące między innymi typ modelu, jakie atrybuty zawiera model, jakie typy atrybutów są obecne oraz jakie cechy znajdują się na tych atrybutach.

ASP.NET MVC3.0 dostarcza domyślne metadane modelu, DataAnnotationsModelMetadata dziedziczą z ModelMetadata (dodatkowo system dostarcza domyślnemu dostawcy metadanych modelu DataAnnotationsModelMetadataProvider)

Klasa publiczna DataAnnotationsModelMetadata : ModelMetadata

Jego konstruktor jest następujący

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


Klasa DataAnnotationsModelMetadata posiada kilka powszechnie używanych właściwości

Nazwa wyświetlana DisplayName, ciąg formatowy DisplayFormatString

TemplateHint otrzymuje wartość, aby wybrać szablon


Dla DisplayName metoda LabelFor<TModel, TValue> wykorzystuje tę właściwość do generowania tekstu etykiety.  To znaczyGdy właściwość DispalyName zostanie zdefiniowana w naszym modelu, użyj metody html.editForModel() w widokuAutomatycznie wyświetli etykietę "<etykieta za="nazwa użytkownika" > nazwę </ dla tego atrybutu</label> modelu.

  

[display( name="name",order=2)] //order attribute zmienia kolejność strony html
  public string username { get; set; }




Kod źródłowy HTML:




Właściwość Display używana w atributie nazwy użytkownika to klasa System.ComponentModel.DataAnnotations.DisplayAtribut, która oferuje ogólną funkcję pozwalającą na określenie lokalizowalnych ciągów znaków dla typu i członka klasy podziału encji


Są też funkcje z System.Web.MVC i System.ComponentModel.DataAnnotations, których nazwy to wszystkie klasy cech podobne do XXXXAttribute, z których każda ma określone zakresy użycia, niektóre ograniczają właściwości modelu, niektóre ograniczają Contrller, niektóre Actions itd.


Poniżej znajduje się lista wbudowanych i powszechnie używanych klas cech w tych dwóch przestrzeniach nazw

1) Przestrzeń System.Web.MVC

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

HiddenInputAttribute

ActionFilterAttribute reprezentuje podstawową klasę wszystkich właściwości filtrów akcji

Klasa HttpDeleteAttribute reprezentuje właściwość używaną do ograniczenia metody działania, tak aby metoda obsługiwała tylko żądania HTTP DELETE

HttpGetAttribute, atrybut HttpPostAtribut, który ogranicza metodę operacyjną do przetwarzania wyłącznie żądań PUT

HttpPutAttribute reprezentuje właściwość, która ogranicza metodę działania tak, aby obsługiwała tylko żądania HTTP PUT.


Przykład: ActionNameAttribute określa rzeczywistą nazwę akcji i jej użycie jest następujące

[ActionName()]

publiczny Indeks ActionResult()


Przykład: klasa HiddenInputAttribute (Skryta Atrybut), która reprezentuje właściwość wskazującą, czy wartość właściwości lub pola powinna być renderowana jako ukryty element wejściowy




Poprzedni:[A] MySql.Data.MySqlClient.MySqlConnection nie może być przesyłany do [B]MySql.Data.MySqlC...
Następny:Niezłapany błąd typu: Nie można ustawić właściwości 'nienatarczywej' z niezdefiniowanej
 Ziemianin| Opublikowano 28.06.2017 21:14:05 |
ModelMetadata



 Ziemianin| Opublikowano 01.12.2017 16:53:12 |


ViewData, aby uzyskać kod nieruchomości:

ViewDataDictionary viewData2=nowy ViewDataDictionary(ViewData["Test"]);
viewData2.ModelMetadata.Properties;
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com