求解决方案。
1. 要实现的效果:弹出提示框后跳转(server.transfer)  1.1为了不让页面变形,所以弹出提示框用的是
Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "<script language=javascript>alert('" + values + "')</script>"); 1.2 页面跳转我用的是server.transfer 运行结果是没有弹出提示框直接跳转了
我感觉原因是不是1.2执行不经过客户端 所以没管1.1在客户端响应等的东西。所以运行结果直接是跳转综上:求使用server.transfer跳转前弹出一个提示框的方法  
  

解决方案 »

  1.   

    server.transfer
    Page.ClientScript.RegisterStartupScript
    Response.Redirect()共用就要失效。看看这个
      

  2.   

     Page.ClientScript.RegisterStartupScript(Page.GetType(), "","<script>alert('弹框!'); window.location.href='跳转的URL'</script>");
      

  3.   

    试了下这个不行
     ClientScript.RegisterStartupScript(this.GetType(), "TestScript2",  this.Page.ClientScript.GetPostBackEventReference(this, "AfterGetRegID") + "<script language=javascript>alert('cc')</script>;", true);
    server.transfer与response.redirect()共用? 不明白
      

  4.   


    额需要server.transfer传值 
    在目标页有
    QueryParams qp = new QueryParams();
                IQueryParams iqp;
                if (Context.Handler is IQueryParams)
                {
                    iqp = (IQueryParams)Context.Handler;
                    qp = iqp.Parameters;
                }
                string hd_id = qp.Hd_id;
    所以没法用window.location.href='跳转的URL'
      

  5.   

    aspx上加一个Button,把它的display设为none:<asp:Button ID="myButton" runat="server" style="display:none" OnClick="myButton_Click" />
    添加点击事件:protected void myButton_Click(object sender, EventArgs e)
    {
        Server.Transfer("XXX.aspx");
    }
    然后:ClientScript.RegisterStartupScript(Page.GetType(), "", "<script language=javascript>alert('" + values + "');document.getElementById('" + myButton.ClientID + "').click();</script>");
      

  6.   


    呵呵和我的一个想法的蛮像,如下(btn_hidden为隐藏)<asp:Button ID="btn_hidden" runat="server" style="display:none" OnClick="btn_hidden_Click" />protected void btn_Click(object sender, EventArgs e)
        {
    string btn_Redirect_Flow = "btn_hidden";
     Page.RegisterStartupScript("", "<script>alert('hihi');document.forms(0)." + btn_Redirect_Flow + ".click();</script>"); }
    protected void btn_hidden_Click(object sender, EventArgs e)
        {
            Server.Transfer("Default2.aspx");
        }
     
    不过有没有办法在Page.RegisterStartupScript()中就运行Server.Transfer("Default2.aspx");
    感觉是需要脚本调用服务器商的方法了
      

  7.   

    你只要了解了asp.net的页面生命周期就知道当然是不可能的……
      

  8.   


    http://topic.csdn.net/u/20110531/22/ba01b518-ec61-4ed6-89ae-774fc3a2325f.html?3845
    中9楼的话 不知道和这个冲不冲突呢
    大虾 俺天资愚钝哈
      

  9.   

    你也可以在 Server.Transfer 目标页 弹提示框
      

  10.   

    不冲突,思路一样的,
    “先由服务器端 生成相关脚本到客户端,客户端加载后执行,执行的脚本中有回调功能,然后触发相关事件并执行Server.Transfer”只是具体实现手段不一样