【问题标题】:Why isn't my EditorFor datepicker field populating my value?为什么我的 EditorFor 日期选择器字段没有填充我的值?
【发布时间】:2019-06-28 16:33:07
【问题描述】:

我试图让这个日期选择器字段填充今天的日期,但由于某种原因它没有发生。我找不到在“新 {}”部分中接受哪些选项的参考。

@Html.LabelFor(d => d.ServiceOn, new { @class = "control-label" })
@Html.EditorFor(d => d.ServiceOn, "DatePicker", new { disableMinDate = true, Value = DateTime.Today })
@Html.ValidationMessageFor(d => d.ServiceOn, "", new { @class = "text-danger" })

我尝试过 value、Value 和 @Value,但生成的 html 总是显示 value=""。我想知道日期选择器本身是否正在清零该字段。我觉得我在这里遗漏了一些明显的东西。

【问题讨论】:

  • 如果我没记错的话,这是预期的功能。 EditorFor 将设置当前模型“d.ServiceOn”上的值。您可以尝试使用@html.Editor,动态设置值,或创建您的自定义助手。

标签: c# asp.net-mvc razor datepicker editorformodel


【解决方案1】:

这应该可行:

@Html.LabelFor(d => d.ServiceOn, new { @class = "control-label" })
@{Model.ServiceOn= DateTime.Today;}
@Html.EditorFor(d => d.ServiceOn, "DatePicker", new { disableMinDate = true })
@Html.ValidationMessageFor(d => d.ServiceOn, "", new { @class = "text-danger" })

HTMLModelState 一起工作,而不是来自模型本身。

如果您想要更多松散的助手,请改为使用 @Html.Editor

【讨论】:

  • 编辑告诉我当前上下文中不存在“c”。我应该从这里的使用中推断出什么吗?
  • 对不起,应该是模特。我已经修好了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-10-13
  • 1970-01-01
  • 2015-12-02
  • 1970-01-01
  • 2016-10-26
  • 2015-07-21
  • 2017-01-21
相关资源
最近更新 更多