【发布时间】:2016-10-29 19:03:42
【问题描述】:
在我看来,我有一个Html.EditorFor 行:
@Html.EditorFor(model => model.DateCreditEarned,
new { htmlAttributes = new { @class = "form-control" } })
当我查看呈现的 HTML 时,我看到输入具有“type = date”属性。有什么方法可以使用 EditorFor 并删除 type 属性?这样我就可以拥有所需的功能而不会导致边缘问题。
<input
class="form-control datecontrol"
data-val="true"
data-val-date="The field Date Credit Earned must be a date."
data-val-required="The Date Credit Earned field is required."
id="DateCreditEarned"
name="DateCreditEarned"
type="date" value="6/27/2016">
更新
我发现我可以使用 Html.TextboxFor 而不会遇到任何 Edge 问题(即 Edge 用它自己的方式覆盖了我的 Bootstrap 日期选择器)。但我希望我能用 EditorFor 完成同样的事情。
【问题讨论】:
-
你试过模型属性的
[DataType(DataType.Text)]属性吗? -
直到你刚才提到它,我才尝试过。呈现的 HTML 是我需要的:
<input class="form-control text-box single-line" data-val="true" data-val-date="The field DateCreditEarned must be a date." data-val-required="The DateCreditEarned field is required." id="DateCreditEarned" name="DateCreditEarned" type="text" value="6/27/2016 12:04:42" /> -
当
TextBoxFor()生成正确的html 时,为什么要使用EditorFor()? -
纯粹的懒惰。我从 autoscaffolded 代码开始,所以我需要重新输入的次数越少,我就越喜欢它。
标签: asp.net-mvc razor