ASP。净项目中无法对请求。表单值进行检测如何解决

当我们在网站中使用CKEditor等富文本编辑器时,大多都会遇到这样的到警告

 ASP。净项目中无法对请求。表单值进行检测如何解决

 ASP。净项目中无法对请求。表单值进行检测如何解决

这是因为ASP.NET默认开启对页面提交内容的验证(不仅是ASP。净MVC, WebForms也默认启用对页面提交的内容进行验证),解决这个问题的关键就在于在有富文本编辑器的页面或者会有提交html代码的页面关闭验证,可大致分为以下三种情况:

<>强基于Framework2.0 webForm的网站

这种情况相比之下算是最好解决的,直接在需要的页面顶部的页面指令中设置ValidateRequest=癴alse"即可

<>强基于Framework4 webForm的网站

这种情况与Framework2.0相比,稍微麻烦一些,不仅需要在页面顶部声明ValidateRequest=癴alse",还需要在web . config文件中进一步修改,在网络。配置添加或修改

& lt; httpRuntime requestValidationMode=?.0“/祝辞

<强> ASP。MVC网站

第一步,修改web . config文件,如果是针对在某个目录下的文件的话,可以直接新建一个web . config文件(web . config文件有“就近原则“,重复定义的属性,以离页面最近的web . config文件定义的为准),并在& lt; system.web>节点下添加

& lt;页面validateRequest=癴alse"祝辞& lt;/pages>

 ASP。净项目中无法对请求。表单值进行检测如何解决

(如果大多数文件都需要设置取消验证的话可以直接修改在网站根目录下的网络。配置文件)

第二步则需要在所需要设置的页面对应的行动方法上添加[ValidateInput (false)]属性,以标明取消验证。

第三步,最后在显示的页面应当使用Html.Raw()方法输出带html的内容,因为默认情况下会将html转义

关于ASP。净项目中无法对请求。表单值进行检测如何解决问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

ASP。净项目中无法对请求。表单值进行检测如何解决