首页 新闻 会员 周边

C#.net session过期时,转到登录页面如何同时关闭框架页面.

0
悬赏园豆:5 [待解决问题]

C#.net session过期时,转到登录页面时,如何同时关闭框架页面.框架用的是jQuery EasyUI.

session过期判断,是在模板页里进行判断的.这个跳转关闭主框架能写在模板页master.aspx里吗.

 

哪位大神能给一下语法.不胜感激.

张志国的主页 张志国 | 初学一级 | 园豆:197
提问于:2014-05-23 09:42
< >
分享
所有回答(5)
0

JS返回一个页面,这个页面包含一个跳转的JS,JS获取最上级window,跳转

吴瑞祥 | 园豆:29449 (高人七级) | 2014-05-23 09:51
2

输出脚本

window.parent.location.href="..."

kaolasz | 园豆:5 (初学一级) | 2014-05-23 10:10
0

脚本:top.location.href="/"

Devin Mao | 园豆:596 (小虾三级) | 2014-05-23 10:54
1

那你可以在后台加上这么一句,假如操作Session时出现空引用异常,那么就在异常处理方法体中加上下面这句话Response.Write("<script>alert('超时,请重新登录系统!');top.location.href='XXX_login.aspx'</script>");

这个时候就会跳转到你的登陆界面,并且呢,框架页面也会被关闭

LgV5 | 园豆:221 (菜鸟二级) | 2014-05-23 16:05

非常感谢,已解决.

支持(0) 反对(0) 张志国 | 园豆:197 (初学一级) | 2014-05-27 14:04
0

/// <summary>
/// 显示消息提示对话框,并进行页面跳转
/// </summary>
/// <param name="page">当前页面指针,一般为this</param>
/// <param name="msg">提示信息</param>
/// <param name="url">跳转的目标URL</param>
/// <param name="isTop">指定是否为框架内跳转(True表示跳出框架外)</param>
public static void ShowAndRedirect(System.Web.UI.Page page, string msg, string url, bool isTop)
{
StringBuilder builder = new StringBuilder();

builder.Append("<script language='javascript' defer>");
builder.AppendFormat("alert('{0}');", msg);
if (isTop == true)
{
builder.AppendFormat("top.location.href='{0}'", url);
}
else
{
builder.AppendFormat("location.href='{0}'", url);
}
builder.Append("</script>");

page.ClientScript.RegisterStartupScript(page.GetType(), "message" + System.Guid.NewGuid().ToString(), builder.ToString());
}

 

后台代码做判断的话,可以用上面的方法。

上面的方法是我已经封装好的跳转。

传入 isTop=true 就可以跳出当前框架进行页面跳转。

俺不是肥熊猫 | 园豆:18 (初学一级) | 2014-07-11 16:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册