一个TextBox,用户在其中输入<head></head>,会导致页面在post过程中报错(此时信息还没有传给服务器端,写服务端代码没用),如何能妥善解决此问题?我现在采用的方法是写javascript检查是否存在<>这种东西,但是要给每个按钮都绑定这段js代码,很麻烦,哪位高人能有更好的方法?多谢啊~~~~~~~~~~~~~~~~~~

解决方案 »

  1.   

    没有办法,只能一个个限制吧,如果你有class控制的话,还可以通过css文件控制
      

  2.   

    CSS文件控制是怎么回事?给点思路吧....
      

  3.   

    现在发现的问题是,输入<号都会报错,但是限制输入<号也太那个了
      

  4.   

    <%@ page language="vb" validaterequest="false"%>
    ..
    ..
    str1=str1.replace("'","''") //替换一下在textbox里输入的字符串
      

  5.   

    将<>这样的符号先替换成别的特殊字符
    然后在服务端将他还原。
      

  6.   

    web.config文件中添加:
    <pages validateRequest="false"/>
      

  7.   

    在你需要用到这个TEXTBOX的ASPX页面的<@page>语句里加上这个validaterequest="false"
      

  8.   

    把错误定义到一个error.aspx页面
      

  9.   

    将<>这样的符号先替换成别的特殊字符
    然后在服务端将他还原。
    ------------------------------------
    在你需要用到这个TEXTBOX的ASPX页面的<@page>语句里加上这个validaterequest="false"------------------------------------
    也就是Server.HtmlEncode 和 Server.HtmlDecode 一起用两个加一起是可以解决,但是修改的工作量好大,不是一两个页面,大几十个页面,每个页面都有N个输入的文本框,关键是明天之前就要提交最终版本了.......请问还有别的方法么?
      

  10.   

    这是.net框架1.1版的安全设置,在1.0里面是没有这个限制的。
    可以用<%@ page language="vb" validaterequest="false"%>来屏蔽。也可以写在web.config里 <pages validateRequest="false"/>要屏蔽js脚本的话可以把<>换成全角的<> ,或则把script换成全角的script。