none
如何解决ValidateRequest黄页问题...望赐教! RRS feed

  • 问题

  • (1)不加Page_Error,黄页

    (2)protected void Page_Error(object sender, EventArgs e)//白页 无内容 有提示
            {
                System.Web.HttpRequestValidationException reqExp = Context.Error as System.Web.HttpRequestValidationException;
                if (reqExp != null)
                {
                    Context.Response.Write("<script>alert('非法字符');</script>");
                    Context.ClearError();
                  
                }
            }

    (3)protected void Page_Error(object sender, EventArgs e)
            {
                System.Web.HttpRequestValidationException reqExp = Context.Error as System.Web.HttpRequestValidationException;
                if (reqExp != null)
                {
                    Context.ClearError();
                    Context.Server.Transfer("~/原页面.aspx", false);//刷新后重复Page_Error,直到重新提交表单,控件状态没了,没办法有提示
                    Context.Response.Redirect("~/原页面.aspx");//重新请求原页面??控件状态没了,没办法有提示
                }
            }

    (4) 跳转后加querystring...一直存在有提示,没有控件状体,同样不够满意

    (5)ajax。。。乱七八糟的要写一堆.估计整个页面要重写吧?还没想好


    我失业了,因为我决定转行。外面大雪纷飞,我的种子在慢慢发芽。
    2010年10月18日 5:57

答案

全部回复

  • 你好:

    在页面上需要加上:ValidateRequest="false" ,否则就会发送html数据就会出现黄页。关于过滤页面中的数据另外处理。

    希望对你有所帮助。


    I am here!
    2010年10月19日 6:24
    版主
  • 如果是xx.aspx?xx=<b>xx</b>这样的url ,ValidateRequest无法进行控制的,你需要对<等进行编码成&amp;lt; >编码成&amp;gt;
    【孟子E章】
    2010年10月19日 6:45
    版主
  • 我个人试过了,没用啊!你这个就是将其url编码一次吧!如果是这样的话你就直接encodeURI()就能过去了。过去是过去了,不过得自己在过滤一次,得过滤那些东西啦。


    @过&客@
    2010年11月1日 4:10