自定义编辑器模板无法推断字段名称

时间:2012-01-26 16:55:01

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

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

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

它通过标准API使用:

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

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

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

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

  

请输入型号

我假设因为内部元数据提供程序不再了解原始模型而只知道新的DateTimeOffset模型。

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

1 个答案:

答案 0 :(得分:1)

您应该使用参数而不是m => m属性传递Model