【问题标题】:setting displayname data annotation dynamically in asp.net mvc在 asp.net mvc 中动态设置显示名称数据注释
【发布时间】:2026-01-23 16:05:02
【问题描述】:

我有一个包含以下字段的数据库表

item_key, 项目价值, 显示名称, 提示

我希望能够在数据库表中指定要使用的显示模板以及显示名称。

<%= Html.EditorFor(p=>pageField.item_value, pageField.uihint) %>

UIHint 正在工作,但我无法找到动态设置显示名称的方法,上面的代码正在生成类似

item_value 文本框

item_value 文本框

item_value 文本框

我希望从 display_name 字段中提取 item_values 标题。

是否可以使用数据注释来做到这一点?一直在查看http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.displayattribute%28v=VS.95%29.aspx 并四处搜索,但没有找到任何我所追求的示例

【问题讨论】:

  • 为什么不直接放置带有显示名称的简单标签或为整个 pageField 类型创建模板?

标签: c# asp.net-mvc asp.net-mvc-2 data-annotations editortemplates


【解决方案1】:

您必须实现您的自定义 ModelMetaDataProvider 才能做到这一点。此链接应该可以帮助您入门:

http://dotnetslackers.com/articles/aspnet/Customizing-ASP-NET-MVC-2-Metadata-and-Validation.aspx

【讨论】:

  • 我知道这是很久以前的事了,但链接不再有效。