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
 
推荐文章
            站长推荐
            
        热点阅读
            