问题描述
我有一个页a.aspx,里面有一个iframe,默认iframe的src是b.aspx,假设当前的src是c.aspx,当我点击浏览器的刷新时,会刷回到b.aspx,那么我想能不能保持刷新后当前页仍是c.aspx呢?如果这样不行,我可以在a.aspx上加一个刷新按钮,那么我怎么知道iframe的当前页是c.aspx呢?有什么方法,该怎么做?菜鸟,刚开始做asp.net,谢谢!
解决方案
解决方案二:
这个跟.net没有关系,是JavaScript和Dom领域的问题。用window.frames[0].location.href(可读写)可以获取框架也中的URL地址,没有加载页面的时候是about:blank.frames后的索引号根据具体需求修改。或者另一个思路,你可以建一个服务器端隐藏域控件,把iframe的src保存起来,这样就可以记录状态了(其实是记录在ViewState里)页面加载的时候再回复状态出来。
解决方案三:
<script>functionabc(){vars=newString(document.getElementById('bcd').src);if(s.indexOf('c.aspx')<0)document.getElementById('bcd').src='c.aspx';}</script><iframeid="bcd"onload="abc()">
解决方案四:
drummery,具体该怎么做呢,zyug我用了你的方法,不行呀,而且c.aspx不止一个,很麻烦
解决方案五:
可以用SESSION或COOKIE来保存iframe的SRC属性,在c1.aspx、c2.aspx、c3.aspx、c4.aspx等页为session赋值:strings=Request.ServerVariables["SCRIPT_NAME"];session["src"]=s.Substring(s.LastIndexOf("/")+1);在访问a.aspx时:<script>functionabc(){vars="<%=session["src"]%>";if(s==""){s="b.aspx";}document.getElementById('bcd').src=s;}</script><iframeid="bcd"onload="abc()">
解决方案六:
window.frames['aaa'].location.replace(document.getElementById("aaa").src);
解决方案七:
引用2楼zyug的回复:
<script>functionabc(){vars=newString(document.getElementById('bcd').src);if(s.indexOf('c.aspx')<0)document.getElementById('bcd').src='c.aspx';}</script><iframeid="bcd"onload="abc()">
正解
解决方案八:
楼上写的什么东东,楼主是需要能保存刷新前iframe中页面的方法
解决方案九:
我有类似的问题,不过我的按钮与iframe不在一个页内,怎么搞?