3个页面 click.aspx  、 login.aspx 、 passport.aspx 我是做一个页面转向的问题,跟cdsn的登陆的效果一样,保存登陆前的网页地址click.aspx中点击LOGIN按钮的同时保存下该页面的URL地址放入Session,并转向login.aspx页面,在login.aspx页面如果能成功登陆的话,会转向passport.aspx,
在该页中获得保存着click.aspx的Session值,并在3秒后直接转向click.aspx我在passport.aspx的前台写了script:<script type="text/javascript">
     function jump(d)
     {
       document.location=d;
     }   
    </script>Page_Load()中:if (!Page.IsPostBack)
        {
            if (Session["locat"] != null)
            {
                string locat = Session["locat"].ToString();
                Response.Write("<script type='text/javascript'>");
                Response.Write("var jump=setTimeout(xxxxx,1000)");
                               //请问,xxxx 这里该怎么写才对?
                Response.Write("</script>");
            }
        }
谢谢大家。

解决方案 »

  1.   

    你这样不行的,因为Response.Write的输出会在页面的最前面!
      

  2.   

    protected override void Render(HtmlTextWriter writer)
        {
            base.Render(writer);
            if (!IsPostBack)
            {
                if (Session["locat"] != null)
                {
                    string locat = Session["locat"].ToString();
                    Response.Write("<script type='text/javascript'>");
                    Response.Write("var jump=setTimeout(xxxxx,1000)");
                                   //请问,xxxx 这里该怎么写才对?
                    Response.Write("</script>");
                }
            }    }
      

  3.   

    也就是在当前页重写Render方法,在呈现html的时候,把你的代码写在最下方,
    Render方法是在System.Web.UI.Page中,在OnRender的时候触发
      

  4.   

    我问的是,xxxx那块怎么写啊,这样不对啊
      

  5.   

    string strMsg = "<SCRIPT language=javascript>setTimeout('函数名啊',500);</SCRIPT>";
                Response.Write(strMsg);