Response.Write("<script>alert('您还没购买任何商品!');</script>");
                    Response.Redirect(Request.CurrentExecutionFilePath);
Asp.Net中为什么在跳转页面之前,弹出提示框,它老是不弹呢,除了这个和this.ClientScript.RegisterClientScriptBlock(this.GetType(),"txt","<script>alert('您还没购买任何商品!');</script>"); 之外,还有其他的方法吗?

解决方案 »

  1.   

    你的弹出提示代码没问题;你页面有没有用到微软的ajax?
      

  2.   

    好好搜下原理,我以前面试还碰到过。
    Response.Redirect()是怎么执行的是机制问题,不是代码问题 
      

  3.   

    你是不是用了UpdatePanel
    用了就用另外一种
    ScriptManager..RegisterClientScript
      

  4.   


    恩 如果用到微软的ajax控件的话,就这样写
      

  5.   

    ClientScript.RegisterStartupScript(this.GetType(), "x", "alert('" + msg + "');", true);
    使用ajax使用
    ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "", "alert('" + str+ "')", true);
      

  6.   

    我没有用到AJAX,弹出提示框,不跳转页面,就可以弹出来,要是一块用,就不行了
      

  7.   

    嘿!跳转是服务端执行的,
    所以根本来不及执行客户端的alert就跳转了!
      

  8.   

    接7楼,你一定要达到你的效果,改用客户端连接,如:
            Response.Write("<script>alert('您还没购买任何商品!');</script>");
           Response.Write("<script>window.location.href='Default.aspx'</script>");
      

  9.   

    string id="1";//要传递的
    Response.Write("<script>window.location.href='Default.aspx?id=" + id + "'</script>");
      

  10.   

    http://blog.csdn.net/xianfajushi/archive/2010/10/11/5933275.aspx
      

  11.   

    window.onload中看看,你把你的那个是不是有这个JS代码要显示用个Hiddenfield来记录。然后再跳转。
      

  12.   


    this.ClientScript.RegisterClientScriptBlock(this.GetType(),"txt","<script>alert('您还没购买任何商品!');
    window.location.href='Default.aspx';</script>");