项目中遇到这样一个状况:javascript
左侧是jquery.tree,当点击树是,右侧页面内容变化。而左侧不动。右侧是一个模板,根据参数显示不一样内容。java
使用了iframe技术。jquery
每次在树上点击时,响应javascript函数。app
内容页是一个div 函数
相应函数ui
$('#context').empty().append('<iframe id="aa" />');.net
$('#aa').attr('src','default2.aspx?id='+id);blog
首先清空div,而后向div中加入iframe,最后对iframe增长src。事件
这样不只维持了左侧树的状态,点击树时右侧也会呈现相应的内容。ip
问题来的很快。身份过时时,会从新登陆,一般直接跳转到登陆页面。
当使用iframe时,iframe里面的页面与别的页面是独立的。
好比说ifame里面的页面是default2.aspx,在后台使用respone时,相应的是default2.aspx,而defalt2是在内容页中。
若是跳转到登陆界面,并登陆,会出现嵌套现象。
如图:
要解决这个问题须要使用js跳转。
关于身份验证,使用的是httpmodule。请阅读上一篇文章httpmodule权限应用
在后台AcquireRequestState事件中输入下面的js
context.Response.Clear();
context.Response.Write("<script type=text/javascript>window.top.location.href='../Logout.aspx'</script>");
同时执行HttpApplication.CompleteRequest()中止页面处理。