【发布时间】:2014-08-01 18:04:39
【问题描述】:
我在一个页面上有一个按钮,可以打开一个带有汇率计算器的窗口。 汇率计算器是一项外部网络服务。 可能会发生会话已过期但用户仍在页面上并单击打开此类窗口的按钮,而不是计算器,而是显示网站登录页面。 为了避免用户从窗口中的页面登录,我试图检查会话是否仍然存在,如果没有提示用户会话已过期,他需要再次登录。 为了避免尽管警告用户仍然尝试从窗口登录,我想在用户单击提示按钮中的确定时停止窗口中的页面加载并重定向到登录页面。
public void Page_Init(object o, EventArgs e)
{
if (Session ["isUser"] != "isUser")
{
ScriptManager.RegisterStartupScript(
this,
this.GetType(),
"Warning",
"alert('Your session expired! You shall login again.');",
true);
Response.Redirect("~/Login.aspx");
}
}
上述方法有时会显示提示,有时却没有,无论如何更新到最后一行重定向到登录页面。我需要一些帮助来控制上述情况。我怎样才能使上述逻辑工作?我的意思是如果条件不满足,页面没有加载并重定向用户是否可以显示提示?
【问题讨论】:
-
如果您不使用弹出窗口,这个问题会变得更容易管理。这是必要的设计“功能”吗?
-
@Yuck,并不是真的只是“很高兴拥有”,但我可以把它拿走。但是,即使我只留下最后一行代码(重定向),它也会重定向窗口而不是页面。
-
@Yuck,我已经改变了我上面的评论。