ASP.NET MVC 3 - Datenankündigung und maximale Länge / Größe für das Rendern von Textboxen

8

Ich weiß, in der Razor View-Datei können wir so etwas tun @ Html.TextBox ("benutzername", null, neu {maxlength = 20, autocomplete="aus"})

Ich hoffe jedoch, ein Modell für den MVC zu erstellen, mit dem ein Formular erstellt werden kann, in dem die Größe und die maximale Länge der Textfelder explizit definiert sind. Ich versuche [StringLength (n)] oben auf den Eigenschaften des Modells, aber das scheint nur die Überprüfung zu tun, anstatt die Größe des Textfelds festzulegen.

Gibt es trotzdem die Möglichkeit, die Länge des Textfelds als Datenannotation über einer Eigenschaft eines Modells zu definieren?

Letztendlich könnten wir also das gesamte Formular erstellen, indem wir Rasierer verwenden, um ein Modell zuzuordnen, anstatt die Modelleigenschaften einzeln nacheinander auszuwählen, um die Größe des Textfelds festzulegen.

    
frostshoxx 29.08.2011, 14:24
quelle

3 Antworten

14

Hier ist ein Überblick über einen benutzerdefinierten Helper, der StringLengthAttribute verwendet.

%Vor%     
Eranga 29.08.2011, 14:50
quelle
3

Funktioniert das nicht?

%Vor%

In der Ansicht:

%Vor%

oder:

%Vor%     
Martin 29.08.2011 14:33
quelle
2

Ich finde, dass ich meine Ansichten bevorzuge, um einfach Html.EditorFor (...) aufzurufen. Das bedeutet, dass die Editor- und die Display-Vorlage das Schicksal der Steuerelemente aus meiner Sicht bestimmen, so dass mein Ansichtscode viel aufgeräumt wird - er hat lediglich HTML- und generische Anforderungen für die Editoren.

Der folgende Link zeigt ein funktionierendes Beispiel dafür, wie dies in einer Editor-Vorlage funktioniert Ссылка

Ich verwende ähnliche in meiner String.cshtml Editor-Vorlage (geht in Shared / EditorTemplates ).

%Vor%

Dann ist mein Modell wie folgt mit Anmerkungen versehen:

%Vor%

Und meine Ansicht ruft einfach an:

%Vor%

Sie werden vielleicht auch bemerken, dass meine String.cshtml Editor-Vorlage auch Enum's automatisch magisch behandelt, aber das beginnt, vom aktuellen Thema abzuweichen, also habe ich diesen Code weggelassen, ich sage hier nur, dass die String-Editor-Vorlage das kann Ziehen Sie zusätzliches Gewicht, und wahrscheinlich hat Google etwas auf diesem Ссылка

Label With Tooltip For ist ein benutzerdefinierter HTML-Helfer, der die Beschreibung einfach in den Etikettentitel einfügt, um weitere Informationen über die Maus für jedes Etikett zu erhalten.

Ich würde diesen Ansatz empfehlen, wenn Sie dies in einer Editor-Vorlage tun möchten.

    
Greg 23.03.2015 21:35
quelle