我正在尝试在 ASP.NET MVC 3 中实现一些自定义模型元数据。我不能使用数据注释属性,因为某些元数据可能会根据配置的值而改变,所以我需要一个解决方案,让我设置元数据每一个请求。我一直在阅读有关自定义模型元数据提供程序的信息,但我找不到任何有关支持动态元数据方案的信息。
MVC 框架是否缓存来自模型元数据提供程序的元数据,还是会在每个请求上调用 CreateMetadata 方法?自定义模型元数据提供程序是动态元数据的一个很好的解决方案,还是应该将它放在视图模型中?
编辑:这不一定是我正在谈论的验证元数据,所以我不是在寻找特定于验证的解决方案。它可能只是要被视图显示或使用的元数据(例如在 HTML 5 数据属性中)。
另一个示例可能是数据库驱动的字段标签。通常会使用 Display 属性的 Name 属性,但如果您想根据数据库中的值动态设置显示名称,这将不起作用。