【问题标题】:Using EditorFor with templateFormat and a Validation将 EditorFor 与 templateFormat 和验证一起使用
【发布时间】:2014-12-06 09:42:18
【问题描述】:

我想使用此处提供的解决方案重写这段代码:Html.TextBoxFor formatting or Html.EditorFor htmlAttributes?

<div class="input">
    @Html.TextBoxFor(x => x.Name)
    @MyFunc()
    @Html.ValidationMessageFor(x => x.Name)
</div>
<br />

但是,由于对该模板格式的调用没有参数,我如何将 lambda 表达式 x =&gt; x.Name 传递给 @Html.ValidationMessageFor

我在调用页面上有这个参数,我需要将它发送到EditorFor模板页面:

调用页面

@Html.EditorFor(m => m.Name)

经典示例EditorFor模板页面

@model System.DateTime? 
@Html.TextBox("", Model.HasValue ? Model.Value.ToString("dd/MM/yyyy") : string.Empty, new { @class = "date-picker" })

EditorFor这个案例的真实例子???

<div class="input">
    @Html.TextBoxFor(????????)
    @MyFunc()
    @Html.ValidationMessageFor(??????)
</div>
<br />

【问题讨论】:

  • 你用的是哪个版本的mvc?
  • 您的意思是要使用@Html.EditorFor(m =&gt; m.DateModified) 并拥有EditorTemplate 包括@Html.ValidationMessageFor()?在这种情况下@Html.ValidationMessageFor(m =&gt; m)@Html.ValidationMessage("")
  • 我无法理解您想要达到的目标。你能用更好的方式解释一下吗?
  • 在使用EditorFor的时候可以通过UIHint指令来指示他使用特定的模板。在这个模板中,我想输入代码:@Html.ValidationMessageFor(...);我可以实现这个目标吗?
  • @Revious,我上面包含的 2 个选项中的任何一个都可以使用(您可能希望包含 @Html.Label("")

标签: c# asp.net-mvc


【解决方案1】:

您可以使用@Html.ValidationMessage("")@Html.ValidationMessageFor(m =&gt; m)。例如

<div class="input">
    @Html.Label("")
    @Html.TextBox("")
    @Html.ValidationMessage("")
</div>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-23
    • 2014-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-10
    • 2019-07-07
    • 1970-01-01
    相关资源
    最近更新 更多