向EditorFor添加一个类 - razor c#

Jim*_*988 5 c# asp.net-mvc editorfor razor

(编辑器用于名为"ADate"的DateTime属性

我正在尝试这个,但它不起作用.

@Html.EditorFor(model => model.ADate, new { cssClass = "date" } )
Run Code Online (Sandbox Code Playgroud)

所以我尝试了这个:

@Html.TextBoxFor(model => model.ADate, new { @class = "date" })
Run Code Online (Sandbox Code Playgroud)

但它输出type = text .. ofcourse它确实.

所以我尝试了一个模板......我在共享中添加了一个文件夹:

Shared/EditorTemplates
Run Code Online (Sandbox Code Playgroud)

然后我创建了一个名为Date.cshtml的.cshtml局部视图

现在我在里面放什么:哦......

我试图了解很多帖子和堆栈溢出条目,但它并没有陷入其中.

我们的目标是一个附加日期选择器的类".date"延伸跨越整个应用程序".date"类用于...的TextBoxFor可与我加入类部分...但正如我所说,从日式的变化到文本 :(

Dim*_*rov 7

好的,这就是你可以做的:

在您的EditorTemplates文件夹中创建一个名为的模板DateTime.cshml(如果您将名称用于日期,名称将自动解析,否则您必须在使用时指定它).然后在其中:

@model System.DateTime

@Html.TextBox(
   string.Empty, 
   Model.ToString("yyyy-MM-dd"),
   new { @class="datepicker", @type = "date"})
Run Code Online (Sandbox Code Playgroud)

使用最后一个参数,您可以指定任何html属性(类,数据,类型等).

然后你像这样使用它:

@Html.EditorFor(x => x.ADate)
Run Code Online (Sandbox Code Playgroud)

如果您选择使用不同的名称命名模板,可以通过调用另一个重载来指定它:

@Html.EditorFor(x => x.ADate, "MyOtherAwesomeTemplate")
Run Code Online (Sandbox Code Playgroud)