“显示名称”属性不起作用vNext。
CustomerEntryModel
public class CustomerEntryModel
{
[DisplayName("First Name")]
public String FirstName { get; set; }
}
CustomerEntry.cshtml
@addTagHelper "*, Microsoft.AspNet.Mvc.TagHelpers"
@model CustomerEntryModel
<table>
<tr>
<td>
<label asp-for="FirstName"></label>
</td>
<td>
<input type="text" asp-for="FirstName"/>
</td>
</tr>
</table>
呈现HTML
<table>
<tbody>
<tr>
<td><label for="FirstName">FirstName</label></td>
<td>
<input type="text" name="FirstName" value="">
</td>
</tr>
</tbody>
</table>
以下文章介绍了如何在标签上使用标记帮助程序来打印显示名称。但是,这会使用DisplayAttribute
,这也适用于我。
http://www.davepaquette.com/archive/2015/05/18/mvc-6-label-tag-helper.aspx
但是,我想使用DisplayNameAttribute
。原因是,我想扩展属性的行为,并从数据库中检索显示名称。我无法延长DisplayAttribute
,因为它是密封的。
怎么做?
答案 0 :(得分:1)
我有同样的问题。我使用的是Asp.NET核心版本1.0.0(使用.net框架4.6.1作为依赖项)并且DisplayName不起作用(它呈现的是属性名称而不是DisplayName值)。我将我的MVC软件包升级到1.1.0-preview1-final,它已经解决了。
在我看来,有一个错误,他们正在修复它在下一个版本中。我将继续使用预览进行开发,因为我也使用DisplayName来扩展DisplayAttribute。