本帖最后由 wangzhen199009 于 2012-12-01 14:33:47 编辑

解决方案 »

  1.   

    因为你是用ajax去读取的,只有浏览器接受跳转指令才会跳转。
      

  2.   

    有可能是虚拟路径引起 改成
    Response.Redirect("~../../main.aspx", true);试试
      

  3.   

    浏览器客户端 只有 接收到 301 302 的返回 信息头才能根据你设置的Location  跳转 也就是说Response.Redirect("~../../main.aspx", true)
    返回的头是 301 地址 是~../../main.aspx 
    但问题是 你用ajax 调用 就有问题 了 你可以调用ajax 返回是否登录成功然后再处理
      

  4.   

    这里改成这样试试
        Response.Write("1");          
       Response.Redirect("main.aspx",false); 
                      
      

  5.   


    正解
    用了ajax,就不能再用Response.Redirect跳转了。
      

  6.   

    你用ajax 跳转 就不能使用response.Redirect来重新定向了。
      

  7.   

    你ajax请求logon  当然是logon这个页面跳转了  不代表你的请求页跳转  前台判断是否=="1"
    然后  window.location.href="main.aspx"
      

  8.   

    是的,Response.Redirect是本地跳转,并不服务端跳转的,浏览器接到指令后,再请求要跳转的页面
      

  9.   


    不是这个意思。Response.Redirect是服务器跳转,没错。但是只有浏览器接收到跳转,才会让网页跳转。一个典型的例子是,你用httpwebrequest发送数据,浏览器会跳转么?
      

  10.   

    Response.Redirect是往浏览器端输出一个响应码,这个响应码为301或者302,告诉浏览器跳转