因为用了IFrame,所以框架内的页面,如果长时间不操作,再刷新时会返回登录页面。
传统的Response.Redirect(UIHelper.BaseUrl + "LoginPage.aspx");是返回登录页,但用户再登录时,会又产生框架,不是我们想要的。
所以采用javascript判断一下是否有parent,在asp.net 的后端cs文件中,
string scriptString = @"function ToLoginPage(login_page) {
try {
window.parent.parent.location.href = login_page;
} catch (e) {
window.parent.location.href = login_page;
}
}";
string login = UIHelper.BaseUrl + "LoginPage.aspx";
scriptString += "ToLoginPage('" + login + "');";
ClientScript.RegisterClientScriptBlock(this.GetType(), "Startup", scriptString, true);
函数声明和调用要写到一块,分开来还不行。
传统的Response.Redirect(UIHelper.BaseUrl + "LoginPage.aspx");是返回登录页,但用户再登录时,会又产生框架,不是我们想要的。
所以采用javascript判断一下是否有parent,在asp.net 的后端cs文件中,
string scriptString = @"function ToLoginPage(login_page) {
try {
window.parent.parent.location.href = login_page;
} catch (e) {
window.parent.location.href = login_page;
}
}";
string login = UIHelper.BaseUrl + "LoginPage.aspx";
scriptString += "ToLoginPage('" + login + "');";
ClientScript.RegisterClientScriptBlock(this.GetType(), "Startup", scriptString, true);
函数声明和调用要写到一块,分开来还不行。