我有一个成熟的ASP.NET WebForms项目,它为许多组织客户提供服务。每个组织都有很多用户,但组织本身在用户配置文件字段设置方面具有很大的灵活性。
我正在考虑将部分或全部开发部署到ASP.NET MVC。 System.ComponentModel.DataAnnotations
似乎提供了许多好处,但是,在我们的申请中,本组织可以控制许多细节,例如:
实际使用了哪些用户配置文件字段(可用字段是有限的,可以是模型的一部分,但大多数组织不会使用所有这些字段。我不希望这些字段显示到最后用户(基于他们所属的组织)
措辞:组织(管理员)可以定义某些字段的“显示名称”(例如他们是否要调用StaffNumber字段“员工编号,员工编号,ABC代码”等等,因此它适合于他们的工作人员熟悉的是什么。DisplayAttribute
是一个密封的类,所以我无法覆盖它以根据登录用户的组织设置提供数据库查找。
ASP.NET MVC中的所有上述内容都可以通过数据注释进行控制,但这些值会被硬编码到模型的属性中。上面第1项的资源文件是不行的,我们有超过2000个组织,每周都会创建新组织。
我正在寻找的是覆盖DisplayAttribute
等属性的方法,并允许实际名称来自数据存储。我已经环顾四周,但我似乎无法在这里看到任何适合该法案的内容。
有人能指出我这种技术是否可行?
感谢。