我想提供一种方法来更改与控件关联的标签,这些标签将通过查找 sql 表在页面上呈现。
理想情况下,我想注入元数据显示字段,然后使用帮助程序在页面上呈现。
@Html.LabelFor(m => m.city)
由于这需要在运行时进行 sql 查找,因此我不能只更改类脚手架 tt 模板以在设计时标记显示名称注释。
我想到了 3 种可能的方法。
重写我想使用的所有 html.helpers。这样做的问题是您需要在进行更改之前复制现有帮助程序的所有功能。
编写自定义数据注释并将其标记在类中的每个属性上,即
[MyCustomNameAttribute] public string city{ get; 放; }
然后希望在 MyCustomNameAttribute 类中,我可以找到我所指的 linq 字段、对元数据模型的引用和使用这些的数据库上下文,我可以根据用户配置的潜在名称自定义来检索和替换 DisplayName。我试图这样做,但无法找出 [Display(Name="city")] 注释在后台是如何工作的。
修改实体模型支持代码以将名称注入元数据模型。
有没有人有以上经验?
干杯蒂姆