Response.write后马上运行Response.redirect,Response.write没反应

来源:互联网 发布:淘宝服务市场 第三方 编辑:程序博客网 时间:2024/04/30 08:31
 

我们时常想达到这样的效果:

Response.Write("<script>alert("您离线时间过长,请重新登陆!");</script>");

Response.Redirect("Login.aspx");

我们希望先提示信息,然后再跳转页面。但这样做的结果是:直接跳转,没有提示信息。

这是为什么呢?

 

 

Response.Redirect方法之后,这个页面的内容根本就不会被发送到客户端,而是直接在服务器端跳转了,所以不管页面有什么内容,客户端都无法看到自然也无法运行。

 

怎么修改呢?

 

方法一:

public class BasePage:System.Web.UI.Page
    {
        public BasePage()
        {
            this.Load += new EventHandler(BasePage_Load);
        }

        void BasePage_Load(object sender, EventArgs e)
        {
            if (Session["usernum"]==null)
            {
               Response.Write("<script languge='javascript'>alert('离线时间过长');

                                window.location.href='Login.aspx'</script>");
              Response.End();
            }

        }
    }

 

 

方法二(带有参数):

Response.Write("<script languge='javascript'>alert('成功修改'); window.location.href='index.aspx?par =" + param + "'</script>);

Response.End();

 

 

为什么说Response。End()不可少呢?请看我的另一篇博客。《利用Page事件进行统一身份验证》。

http://blog.sina.com.cn/s/blog_67aaf4440100ms1c.html

 

 

原创粉丝点击