asp.net – 不引用MVC的AllowHtml属性
发布时间:2020-12-16 04:34:30 所属栏目:asp.Net 来源:网络整理
导读:我们将业务逻辑层和业务对象分离为一个完全独立的项目/程序集.模型的某些属性可以包含 HTML内容.在业务逻辑的前面,我们有一个ASP.NET MVC Web应用程序,用户可以在其中管理业务对象. 要在特定属性上允许HTML内容,我们必须添加AllowHtml属性.但我们不能,因为我
我们将业务逻辑层和业务对象分离为一个完全独立的项目/程序集.模型的某些属性可以包含
HTML内容.在业务逻辑的前面,我们有一个ASP.NET MVC Web应用程序,用户可以在其中管理业务对象.
>要在特定属性上允许HTML内容,我们必须添加AllowHtml属性.但我们不能,因为我们不想在我们的核心项目中引用System.Web.Mvc. 那么,我们如何向MVC模型绑定器指出我们想要在(并且仅在)某些特定属性上允许HTML内容,而不在我们的业务逻辑层中引用ASP.NET MVC?或者,如何在没有强引用的情况下从另一个程序集注入元数据? 谢谢. 解决方法
我必须将BindModel更改为以下(这是基于Russ Cam的答案),以便检查实际属性的属性.我也看了
this的答案寻求帮助:
public override object BindModel(ControllerContext controllerContext,ModelBindingContext bindingContext) { var holderType = bindingContext.ModelMetadata.ContainerType; if (holderType != null) { var propertyType = holderType.GetProperty(bindingContext.ModelMetadata.PropertyName); var attributes = propertyType.GetCustomAttributes(true); var hasAttribute = attributes .Cast<Attribute>() .Any(a => a.GetType().IsEquivalentTo(typeof(MyAllowHtmlAttribute))); if (hasAttribute) { bindingContext.ModelMetadata.RequestValidationEnabled = false; } } return base.BindModel(controllerContext,bindingContext); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – ASP.NET MVC – Cascading Drop Down
- asp.net-mvc – 如何在Asp.net MVC中添加WebApi,然后在同一
- asp.net – 使用Entity Framework的仓库模式(mvc storefron
- asp.net-mvc – MVC 5 OWIN登录声明和AntiforgeryToken.我错
- asp.net-mvc – HttpResponseException和HttpException之间
- asp.net – 如何自定义UseExternalSignInCookie?
- asp.net – Linq to Sql – 根据环境变量动态设置连接字符串
- .net – 在黄屏死亡的地方有执行吗?
- ASP.NET – AJAX / JQUERY的重连接问题
- asp.net – Visual Studio开发服务器不更新css和javascript
推荐文章
站长推荐
热点阅读