【发布时间】:2014-04-07 14:59:12
【问题描述】:
如果带有 htmlAttributes 的新 EditorFor 不适合你,我发现如下:
public bool BoolTest { get; set; }
public string StringTest { get; set; }
public int IntTest { get; set; }
public decimal DecimalTest { get; set; }
public float FloatTest { get; set; }
public char CharTest { get; set; }
public DateTime DateTimeTest { get; set; }
public TimeSpan TimeSpanTest { get; set; }
// WORKS
@Html.EditorFor(model => model.BoolTest, new { htmlAttributes = new { @class = "form-control bool" } })
// DOESN'T WORK!
@Html.EditorFor(model => model.StringTest, new { htmlAttributes = new { @class = "form-control string" } })
// WORKS
@Html.EditorFor(model => model.IntTest, new { htmlAttributes = new { @class = "form-control int" } })
// DOESN'T WORK!
@Html.EditorFor(model => model.DecimalTest, new { htmlAttributes = new { @class = "form-control decimal" } })
// DOESN'T WORK!
@Html.EditorFor(model => model.FloatTest, new { htmlAttributes = new { @class = "form-control float" } })
// DOESN'T WORK!
@Html.EditorFor(model => model.CharTest, new { htmlAttributes = new { @class = "form-control char" } })
// DOESN'T WORK!
@Html.EditorFor(model => model.DateTimeTest, new { htmlAttributes = new { @class = "form-control DateTime" } })
// DOESN'T WORK!
@Html.EditorFor(model => model.TimeSpanTest, new { htmlAttributes = new { @class = "form-control TimeSpan" } })
工作的意思:输入是按预期添加的附加 htmlAttributes 呈现的。
不起作用的意思是:输入被渲染,但没有 htmlAttributes 被传递到 html。
结果 HTML:
<input class="form-control bool check-box" data-val="true" data-val-required="The BoolTest field is required." id="BoolTest" name="BoolTest" type="checkbox" value="true">
<input name="BoolTest" type="hidden" value="false">
<input class="text-box single-line" id="StringTest" name="StringTest" placeholder="" type="text" value="">
<input class="form-control int text-box single-line valid" data-val="true" data-val-number="The field IntTest must be a number." data-val-required="The IntTest field is required." id="IntTest" name="IntTest" type="number" value="0">
<input class="text-box single-line" data-val="true" data-val-number="The field DecimalTest must be a number." data-val-required="The DecimalTest field is required." id="DecimalTest" name="DecimalTest" type="text" value="0.00">
<input class="text-box single-line" data-val="true" data-val-number="The field FloatTest must be a number." data-val-required="The FloatTest field is required." id="FloatTest" name="FloatTest" placeholder="" type="text" value="0">
<input class="text-box single-line" data-val="true" data-val-required="The CharTest field is required." id="CharTest" name="CharTest" placeholder="" type="text" value="�">
<input class="datefield" data-val="true" data-val-date="The field DateTimeTest must be a date." data-val-required="The DateTimeTest field is required." id="DateTimeTest" name="DateTimeTest" type="text" value="1/1/0001">
<input class="text-box single-line" data-val="true" data-val-required="The TimeSpanTest field is required." id="TimeSpanTest" name="TimeSpanTest" placeholder="" type="text" value="00:00:00">
有人找到解决方法吗?我应该在哪里提交错误? (如果有人确认它不是我的机器,那就太好了)
【问题讨论】: