• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ASP.NET程序提交表单数据中带有html标签不能提交或者提交报错问题 ...

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

     今天在公司做另外的一个项目,又奇葩的遇到一个问题。

     在本地自己电脑上怎么测试都是正常的。但是先上服务器就出问题:

     用富文本编辑器上传一篇文章,始终报错,又没提示具体什么错误,也没说代码错误,点击提交按钮后始终不会请求相应的后台事件方法。

     首先根据自己的经验,想到是不是和之前遇到过的提交数据中含有html标签而造成不能提交表单问题。

     然后直接在页面加上:ValidateRequest="false"

     关键是加上后还是一样的错误,这个我就有点不知所措了,只显示个页面出错,写了日志,查看日志,还是不能请求我的后台代码。

     然后我把提交的数据全部写死,传入一个固定的值试一试(不带有html的),注意假设页面有富文本编辑器,富文本编辑器中最好不要填写值。此时可以提交表单了。

     基本问题已经找到了,说明问题还是表单数据中含有html标签,然后百度了一些,基本说的都是页面加一个:ValidateRequest="false",这样还是不能解决问题。

     后来终于解决问题,结果居然这么简单,解决方法如下:

     在webconfig中进行修改:

                                  在节点httpRuntime内加入:requestValidationMode="2.0"

                                  在节点compilation内加入:targetFramework="4.0"

     即变成:           

              <httpRuntime requestValidationMode="2.0"/>
              <compilation debug="true" targetFramework="4.0"/>

     特别说明,网上好多说的都是加入requestValidationMode="2.0"即可,这个我试了是不行。原因是因为我的网站的.NET FrameWork版本是4.0的,所以这个根据自己网站的.NET FrameWork版本来修改。如果版本是4.0及其以上的必须两个加入。

      总结,对于网站提交表单数据中含有html标签不能提交的,如果网站.NET FrameWork版本是4.0及其以上的,需要在webconfig中加入:

               <httpRuntime requestValidationMode="2.0"/>
              <compilation debug="true" targetFramework="4.0"/>

      如果.NET FrameWork版本是4.0以下的,添加<httpRuntime requestValidationMode="2.0"/>即可。

      在此,也谢谢博客园里的各位朋友的评论,从你们的评论互动其实我也能学到许多东西,谢谢。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
asp.net缓存应用。发布时间:2022-07-10
下一篇:
ASP.NETMVCForm表单验证与Authorize特性发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap