2012-10-23 12 views
6

Ich habe ein Modell wie:Html.EditorFor ignoriert meine angegebene Klasse

public class MyModel { 
    public string Name {get; set;} 
    public DateTime StartDate {get; set;} 
} 

Dann in meiner Razor Ansicht, ich habe dies:

@Html.EditorFor(x => x.StartDate, new { @class = "input datepicker" }) 

Das ausgegebene HTML jedoch wie folgt aussieht:

<input class="text-box single-line" data-val="true" 
data-val-required="The StartDate field is required." id="StartDate" 
name="StartDate" type="text" value="01/01/0001 00:00:00"> 

Es scheint ganz zu meiner @class Definition zu ignorieren (wie auch das Hinzufügen Validierung Sachen ihrer eigenen)

Gibt es eine Möglichkeit, es mit meiner angegebenen Klasse zu rendern?

Antwort

9

Sie können keine Klasse für den EditorFor festlegen. Sie könnten viele verschiedene Tags in dieser Vorlage haben. So müssen Sie die Klasse im Editor-Vorlage zuweisen:

<div> 
    @Html.TextBoxForModel(x => x.StartDate, new { @class = "input datepicker" }) 
</div> 

Oder Sie könnten nur die TextBoxFor verwenden:

@Html.TextBoxFor(x => x.StartDate, new { @class = "input datepicker" }}) 
Verwandte Themen