我们已将业务逻辑层和业务对象分离为完全独立的项目/程序集.模型的某些属性可以包含HTML内容.在业务逻辑的前面,我们有一个ASP.NET MVC Web应用程序,用户可以在其中管理业务对象.
- 要允许特定属性上的HTML内容,我们必须添加AllowHtml属性.但我们不能,因为我们不想在我们的核心项目中引用System.Web.Mvc.
- 部分类不能跨多个程序集使用.
- 使用MetadataType属性不是一个选项,因为它会导致对MVC的间接依赖或核心层与Web应用程序之间的循环依赖.
- 另一个部分解决方案是使用ValidateInput属性关闭整个请求的请求验证,但我们只想关闭特定属性的请求验证.
- 属性不是虚拟的,因此我们不能简单地创建派生类型来覆盖特定属性.
- 我们不希望复制业务对象以查看具有完全相同属性和元数据的模型.
- 覆盖模型绑定逻辑不是一种选择.
那么,我们如何向MVC模型绑定器指出我们想要在某些特定属性上允许HTML内容(并且仅在其上),而不在我们的业务逻辑层中引用ASP.NET MVC?或者,如何在没有强引用的情况下从另一个程序集注入元数据?
谢谢.