Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 19676|Antwort: 2

[Tipps] MVC-Metamodell-Metadaten ViewData.ModelMetadata

[Link kopieren]
Veröffentlicht am 28.06.2017 21:12:49 | | | |

ModelMetaData ist ein wichtiges Konzept im MVC, das unter anderem den Modelltyp, die enthaltenen Attribute, die vorhandenen Attributarten und welche Eigenschaften auf den Attributen enthalten sind, einschließt.

ASP.NET MVC3.0 stellt die Standardmodellmetadaten DataAnnotationsModelMetadata von ModelMetadata bereit (zusätzlich stellt das System den Standardmodell-Metadatenanbieter DataAnnotationsModelMetadataProvider bereit)

öffentliche Klasse DatenAnnotationenModellMetadaten : ModellMetadaten

Sein Konstruktor ist wie folgt

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


Die Klasse DataAnnotationsModelMetadata besitzt mehrere häufig verwendete Eigenschaften

DisplayName-Anzeigename, DisplayFormatString-Zeichenkette

TemplateHint erhält einen Wert, um zu wählen, welche Vorlage verwendet wird


Für DisplayName verwendet die Methode LabelFor<TModel, TValue> diese Eigenschaft, um den Labeltext zu erzeugen.  Es bedeutetSobald die DispalyName-Eigenschaft in unserem Modell definiert ist, verwenden Sie die html.editForModel()-Methode im AufrufEs zeigt automatisch das Label-Tag " <label for="username" > Name </ für dieses Attribut</label> des Modells an.

  

[display( name="name",order=2)] //order-Attribut ändert die Reihenfolge der HTML-Seite
  öffentlicher String-Benutzername { get; Set; }




HTML-Quellcode:




Die Display-Eigenschaft, die für das Benutzername-Attribut verwendet wird, ist die Klasse System.ComponentModel.DataAnnotations.DisplayAttribut, die eine generische Funktion bietet, mit der Sie lokalisierbare Zeichenketten für den Typ und das Mitglied der Entitätsdivisionsklasse angeben können


Es gibt außerdem Funktionen von System.Web.MVC und System.ComponentModel.DataAnnotations, deren Namen alle Feature-Klassen ähnlich wie XXXXAtribute sind, die alle spezifische Anwendungsbereiche haben, einige beschränken Modelleigenschaften, einige Contrller, manche Actions usw.


Im Folgenden eine Liste der eingebauten und häufig verwendeten Feature-Klassen in diesen beiden Namensräumen aufgeführt

1) System.Web.MVC-Raum

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

HiddenInputAttribute

ActionFilterAttribute stellt die Basisklasse aller Aktionsfilter-Eigenschaften dar

HttpDeleteAttribut-Klasse, die eine Eigenschaft darstellt, die verwendet wird, um die Operationsmethode so einzuschränken, dass die Methode nur HTTP-DELETE-Anfragen verarbeitet

HttpGetAttribute, ein HttpPostAttribut, das die Operationsmethode darauf beschränkt, nur PUT-Anfragen zu verarbeiten

HttpPutAttribute stellt eine Eigenschaft dar, die verwendet wird, um die Operationsmethode so einzuschränken, dass die Methode nur HTTP-PUT-Anfragen verarbeitet.


Beispiel: ActionNameAttribute gibt den tatsächlichen Aktionsnamen der Aktion an, und die Verwendung ist wie folgt

[ActionName()]

öffentlicher ActionResult Index()


Beispiel: Die HiddenInputAttribut-Klasse, die eine Eigenschaft darstellt, die angibt, ob ein Eigenschaftswert oder Feldwert als verstecktes Eingabeelement dargestellt werden soll




Vorhergehend:[A] MySql.Data.MySqlClient.MySqlConnection kann nicht auf [B]MySql.Data.MySqlC übertragen werden...
Nächster:Uncaught TypeError: Kann die Eigenschaft 'unaufdringlich' von undefiniert nicht setzen
 Vermieter| Veröffentlicht am 28.06.2017 21:14:05 |
ModelMetadata



 Vermieter| Veröffentlicht am 01.12.2017 16:53:12 |


ViewData, um den Immobiliencode zu erhalten:

ViewDataDictionary viewData2=neuer ViewDataDictionary(ViewData["Test"]);
viewData2.ModelMetadata.Properties;
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com