6

私は次のようなモデルを持っています:

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

次に、Razor ビューには次のように表示されます。

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

ただし、出力された HTML は次のようになります。

<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">

私の定義を完全に無視しているようです@class(独自の検証機能を追加するだけでなく)

指定したクラスでレンダリングする方法はありますか?

4

1 に答える 1

9

EditorFor にクラスを設定することはできません。このテンプレート内にさまざまなタグを含めることができます。そのため、エディター テンプレート内でクラスを割り当てる必要があります。

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

または、TextBoxFor を使用することもできます。

@Html.TextBoxFor(x => x.StartDate, new { @class = "input datepicker" }}) 
于 2012-10-23T12:15:33.323 に答える