Button_click(..)
{
Response.Write("<script>alert(\"....错误\");</script>");
Response.Redirect("Regist.aspx");
}
为什么看不到alert 的内容而直接转向Regist.aspx

解决方案 »

  1.   

    Response.Redirect
      

  2.   

    string js="<script language=javascript>alert('error!');window.open('Regist.aspx');</script>";
    Response.Write(js);
      

  3.   

    Response.Write()是向客户端直接输出字符
    会将字符输出到本页面的开头楼主写的代码再执行了Response.Write()之后
    数据并未输出到客户端
    而是先执行Response.Redirect()
    Response.Redirect()转到一个新的页面
    当然之前的输出不会起作用建议楼主看看Response.Write和Response.Redirect
      

  4.   

     
    Button_click(..) 

    Response.Write(" <script>alert(\"....错误\"); </script>"); 
    Response.Redirect("Regist.aspx"); 

    这样写
     
    Button_click(..) 

    Response.Write(" <script>alert(\"....错误\");location='Regist.aspx' </script>"); 
    //Response.Redirect("Regist.aspx"); 

      

  5.   

    也许下面这样讲解你会比较容易理解首先这两句都是服务端语句,把他们是并行执行的,
    如果有输出到客户端的语句,他会在所有的服务语句执行完后再向客户端输出,
    而当执行到第二句的时候已经跳转到另外一个UI去了,所以你就没有看到JS输出结果。
    Response.Write()
    Response.Redirect()具体方法可以参考4楼,但是四楼的方法也不一定完全实用
    原因:
    如果我要求如果输出的JS,用户选择否,就不再执行了,那上面的方法就不太实用了,
    或者当用户选择是,还要继续执行逻辑