Wie fügt man Platzhalterattribut automatisch zu HTML-Eingabe Typ Nummer in MVC 4?

8

Dies ist ein sehr spezifisches Problem. Ich habe es geschafft, das Platzhalterattribut automatisch dem HTML5-E-Mail-Eingabetyp hinzuzufügen, indem ich eine Editor-Vorlage namens EmailAddress.cshtml verwendete, die im ~/Views/Shared/EditorTemplates/ -Ordner gespeichert war. Siehe den folgenden Code:

%Vor%

Es funktioniert, weil ich die [DataType(DataType.EmailAddress)] DataAnnotation in meinem Ansichtsmodell verwende.

Was nicht funktioniert ist, wenn ich eine int? Variable verwende.

%Vor%

@Html.EditorFor übersetzt diese Eingabe wie folgt:

%Vor%

Das Problem ist, dass ich die Prompt DataAnnotation (normalerweise übersetzt von placeholder ) nicht anzeigen kann. Außerdem hat die DataType enum keinen "number" - oder "integer" -Wert, der es mir erlaubt, die EditorTemplate wie für den EmailAddress DataType zu verwenden.

    
Florent 28.01.2013, 20:00
quelle

1 Antwort

13

Basierend auf Pat Burke Kommentar kann ich das UIHint-Datenattribut in Kombination mit der guten Editor-Vorlage verwenden.

Hier ist ein Beispiel ( Editor Template ):

%Vor%

(das ViewModel )

%Vor%

und schließlich das Ergebnis:

%Vor%     
Florent 28.01.2013, 21:42
quelle