【发布时间】:2012-10-05 10:42:48
【问题描述】:
我想提供一种方法来更改与控件关联的标签,这些标签将通过查找 sql 表在页面上呈现。
理想情况下,我想注入元数据显示字段,然后使用帮助程序在页面上呈现。
@Html.LabelFor(m => m.city)
由于这需要在运行时进行 sql 查找,因此我不能只更改类脚手架 tt 模板以在设计时标记显示名称注释。
我想到了 3 种可能的方法。
重写所有我想使用的 html.helpers。这样做的问题是您需要在进行更改之前复制现有帮助程序的所有功能。
-
编写自定义数据注释并将其标记在类中的每个属性上,即
[我的自定义名称属性] 公共字符串城市{得到;放; }
然后希望在 MyCustomNameAttribute 类中我可以找到我所指的 linq 字段、对元数据模型的引用和使用这些的数据库上下文,我可以根据用户配置的潜在名称自定义来检索和替换 DisplayName。我试图这样做,但无法找出 [Display(Name="city")] 注释在后台如何工作。
修改实体模型支持代码以将名称注入元数据模型。
有人有以上经验吗?
干杯 蒂姆
【问题讨论】:
-
您是否愿意为页面上的每个标签执行一个 SQL 查询?可能你需要引入内存缓存。
标签: asp.net-mvc entity-framework razor asp.net-mvc-4