【问题标题】:Custom editor template can't infer field name自定义编辑器模板无法推断字段名称
【发布时间】:2012-01-26 16:55:01
【问题描述】:

我为 DateTimeOffset 创建了一个自定义编辑器模板:

@model DateTimeOffset
<div>
    @Html.LabelFor(m => Model)
    @Html.TextBoxFor(m => Model)
</div>

通过标准 API 使用:

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

我注意到创建的标签有文本模型:

<label for="DateTimeOffsetField">Model</label>

另外,Required 字段验证器在错误消息中将生成的字段称为“模型”:

请输入型号

我假设是因为内部元数据提供者不再知道原始模型,而只知道新的 DateTimeOffset 模型。

应该如何处理? 我可以使用不同的重载还是应该使用较低级别的 API(例如@Html.Label)?

【问题讨论】:

    标签: c# asp.net-mvc-3 razor


    【解决方案1】:

    您应该传递m =&gt; m,使用参数而不是Model 属性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-06
      • 2011-02-18
      • 1970-01-01
      • 2022-08-14
      • 2016-04-20
      • 2020-01-21
      • 2011-11-08
      • 2021-11-27
      相关资源
      最近更新 更多