MVC3,编辑模板,CSS CLAS,最大长度和大小(mvc3, editor template,

2019-07-31 03:14发布

我有一个编辑模板下面,但类,最大长度和大小的属性没有得到到源。

@using System.Globalization
@model DateTime?
@Html.TextBox("", (Model != null && Model.HasValue && !Model.Value.ToString(CultureInfo.InvariantCulture).Contains("1900") && !Model.Value.ToString(CultureInfo.InvariantCulture).Contains("0001") ? Model.Value.ToString("MM/dd/yyyy") : string.Empty), new { @class = "datePicker", maxlength = "12", size = "12" })

我已经把它改成下面的,它仍然是相同的

@Html.EditorFor(x => x.Criteria.FromDate, new { @class = "datePicker", maxlength = "12", size = "12" })

资源

<input class="text-box single-line" id="Criteria_FromDate" name="Criteria.FromDate" type="text" value="" />

我怎样才能解决这个问题?

Answer 1:

确保你的编辑模板名为日期时间 -放置在文件夹视图/共享/ EditorTemplates,和你的模型(Criteria.FormDate)是同一类型 EditorTemplate模型( 日期时间?)。

如果所有的日期时间字段都会有相同的最大长度和尺寸,你可以让他们在你的EditorTemplate硬编码。 例如,对于你的HTML:

@EditorFor(x => x.Criteria.FormDate) //no need to pass html attributes object if they are not used in the editor template

-它值得尝试@EditorFor(model, "EditorTemplateName")明确地说你想要的TemplateEditor为传递模型。 这是当你有相同型号的多个编辑器的情况下,让你打电话给他们明确的(就像调用局部视图和模型传递到它)。

编辑:看你的模板后,在我看来,你的Criteria.FormDate非空。 你应该看看改善/模板重构你的代码。



文章来源: mvc3, editor template, css clas, maxlength and size