我们时常想达到这样的效果:
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