iframe跳转

项目中遇到这样一个情况:

左侧是jquery.tree,当点击树是,右侧页面内容变化。而左侧不动。右侧是一个模板,根据参数显示不同内容。

iframe跳转

使用了iframe技术。

每次在树上点击时,响应javascript函数。

内容页是一个div 

相应函数

 $('#context').empty().append('<iframe id="aa" />');

   $('#aa').attr('src','default2.aspx?id='+id);

首先清空div,然后向div中加入iframe,最后对iframe增加src。

这样不仅维持了左侧树的状态,点击树时右侧也会呈现相应的内容。

问题来的很快。身份过期时,会重新登录,通常直接跳转到登录页面。

当使用iframe时,iframe里面的页面与别的页面是独立的。

比如说ifame里面的页面是default2.aspx,在后台使用respone时,相应的是default2.aspx,而defalt2是在内容页中。

如果跳转到登录界面,并登录,会出现嵌*象。

如图:

iframe跳转

要解决这个问题需要使用js跳转。

关于身份验证,使用的是httpmodule。请阅读上一篇文章httpmodule权限应用

在后台AcquireRequestState事件中输入下面的js

  context.Response.Clear();

context.Response.Write("<script type=text/javascript>window.top.location.href='../Logout.aspx'</script>");

同时执行HttpApplication.CompleteRequest()停止页面处理。

转载于:https://my.oschina.net/u/147591/blog/24020