private void Button1_Click(object sender, System.EventArgs e)
{
……
   if(true)
{
string showOpen = "<script language='javascript'>window.open('A.aspx')</script>";
if(!IsClientScriptBlockRegistered("clientScript"))
RegisterClientScriptBlock("clientScript", showOpen);
}
else
{}……还有代码要执行……
}
这时虽然执行了弹出代码,但是程序还要执行后面的代码,没有弹出新页面。请问高手如何弹出新页面后继续执行后面的代码?

解决方案 »

  1.   

    这个要完全执行完才可以的,除非你在弹出后面加response.end();
      

  2.   

    使用REsponse.Flash();边处理边输出
      

  3.   

    其实你这样写输出脚本是不行的 它只能输出到页面上并未执行 应该在加载页面时(page_load里)注册js事件
    如 Button1.Attributes.Add("onclick","<script language=javascript>doYourFunction(param);</script>")
    在点击按钮时在客户端判断 即doYourFunction里
      

  4.   

       if(true) 

    string showOpen = " <script language='javascript'>window.open('A.aspx') </script>"; 
    if(!IsClientScriptBlockRegistered("clientScript")) 
    RegisterClientScriptBlock("clientScript", showOpen); 

    这里的逻辑完全可以等代码执行完再执行,不必要写在这里!写在这里也不会执行,因为要在服务器端执行完以上代码才能再执行客户端(*。aspx)中的代码。ajax应该也不能直接实现你的这种逻辑
      

  5.   


    在Page_Load(object sender, EventArgs e)事件中写Response.Redirect("newpage.aspx");语句就可以了!
      

  6.   

    好多分啊.哈哈.可惜我不会javascript
      

  7.   

    中途弹出还是在JS事件里写好点
    页面后台代码要继续执行MS不行
      

  8.   

    估计他要做那种。执行一部分代码得到一值,弹出对话框问是否继续,是就接着执行下面的,否就等止。这WEBFORM 目前好像做不到。只有WINFORM可以