string str = "<script>\n alert('提交成功');\n </script>";
this.page.RegisterStartupScript("aa",str);
Response.Redirect("xx.aspx")
为什么提示框没有出来,就直接执行下一句?有没有好的解决办法?

解决方案 »

  1.   

    try 
     Server.Transfer("",false);
      

  2.   

    Response.Write("<script language=javascript>window.alert('提交成功'');</script>");用这种方式看看
      

  3.   

    Response.Write("<script>alert(\"添加成功!\");location.href='4-5index.aspx';</script>");
      

  4.   

    试试:
    Response.Write("<script LANGUAGE=JavaScript >"+
    " alert('该用户不存在,请先注册!');"+
    " window.location=('agreement.aspx');"+
    "</script>");
      

  5.   

    这样试试~
    Response.Redirect("xx.aspx",false)
      

  6.   

    同意 mengfanpp(梦凡) 
    写在一起才有效
      

  7.   


    这样作:
    string str="<script>"+"alert('"+"您此项权限尚未开通,无法进入!"+"');"+"self.location.href='desktop_new.aspx';"+"</script>";
    Response.Write(str);
      

  8.   

    这是因为response.write是后台运行,"<script>\n alert('提交成功');\n </script>";this.page.RegisterStartupScript("aa",str); 是前台运行!用javascript实现,
    alert("");
    document.localation=".....aspx"
      

  9.   

    请问各位大侠这是什么原因?Response.Redirect是重新定向,向客户端浏览器直接发送重新定向的指令,当然用户看不到任何提示而使用alert等这些需要在客户端运行一次,然后location.href向服务器发出指令,重新定向两种方法有本质上的不同
      

  10.   

    请问各位大侠这是什么原因?Response.Redirect是重新定向,向客户端浏览器直接发送重新定向的指令,当然用户看不到任何提示而使用alert等这些需要在客户端运行一次,然后location.href向服务器发出指令,重新定向两种方法有本质上的不同
    ---------------------------------
    上面的说法完全正确,也就是说Response.Redirect是服务器执行的,但是alert是客户端执行的。你的alert并没有被传递给客户端,因为在服务器你的页面已经被Redirect
      

  11.   

    本人比较菜,望高手再解释下
     alert 在 Response.Redirect 的前面为什么对话框还没出来,就重定向了(不要笑我,也不要骂我)
      

  12.   

    你的alert确实在Response.Redirect。但是string str = "<script>\n alert('提交成功');\n </script>";仅仅只是向客户机返回了一段js代码。这段代码的执行必须等到客户机上。Response.Redirect就不会给这个机会到js代码了!
      

  13.   

    Response.Redirect是终止当前页进行转向, 用Server.Transfer 就没那么多事了