问题1: 在用了frameset 框架里面的一个页面里面 有一个bouuton 想要点击后跳转到新的地址(跳出框架的那个默认地址)
我是这样用 Response.Redirect("../MySite/UserRegister.aspx?uid=1") 并且后面还带有参数 但是 还是在框架里面跳转 这个页面还是跳转不出来 请问有什么好的建议?
问题2:在用了frameset 框架里面后的页面当你做了很多操作后 按一下F5刷新 又重新回到默认的第一页面,当然你在当页 面鼠标右键点击一下刷新是可以,我是想有什么好的办法 整个页面刷新 还是会指向刚才刷新的页面?谢谢啦
我是这样用 Response.Redirect("../MySite/UserRegister.aspx?uid=1") 并且后面还带有参数 但是 还是在框架里面跳转 这个页面还是跳转不出来 请问有什么好的建议?
问题2:在用了frameset 框架里面后的页面当你做了很多操作后 按一下F5刷新 又重新回到默认的第一页面,当然你在当页 面鼠标右键点击一下刷新是可以,我是想有什么好的办法 整个页面刷新 还是会指向刚才刷新的页面?谢谢啦
response.write("<Script>window.parent.location='../MySite/UserRegister.aspx?uid=1'</Script>")
应该可以实现
问题二不会
返回 HTML DOM Window 对象参考手册
定义和用法
top 属性返回最顶层的先辈窗口。该属性返回队一个顶级窗口的只读引用。如果窗口本身就是一个顶级窗口,top 属性存放对窗口自身的引用。如果窗口是一个框架,那么 top 属性引用包含框架的顶层窗口。语法
window.top实例
下面的例子窗口是否在一个框架中,如果是,则跳出框架:<html>
<head>
<script type="text/javascript">
function breakout()
{
if (window.top!=window.self)
{
window.top.location="tryjs_breakout.htm"
}
}
</script>
</head><body>
<form>
Click the button to break out of the frame:
<input type="button" onclick="breakout()" value="Break out!">
</form>
</body></html>
<frame src="haha.htm">这里对应的是这个页面啊,你刷新的时候是刷新的主页面,肯定是要到初始页面了。解决办法就是把这个全部弄掉,并且屏蔽F5。最好是弹出窗口就好了
要不就进行判断
每个菜单都用不同的ID,每次点击就存到cookie里面,
然后在判断,如果和cookie对应,就是显示的页面
window.top.location="your page"
在onbeforeunload的时候把主框架的页面地址记录在cookie中,在onload的时候读取cookie中的内容,将主框架的地址设为最后访问的地址代码如下,注意,我的框架页是用的iframe// 在onbeforeunload的时候保存页面最后访问地址
function fnSave()
{
// 将主框架的地址记录到cookie中,cookie在浏览器关闭即过期!
document.cookie = "preSrc=" + escape(frmMain.location.href) + ";";
}// 加载cookie中记录的地址
function fnLoad(){
var preSrc = null;
// 从Cookie中找出记录
var aCookie = document.cookie.split("; ");
for (var i=0; i < aCookie.length; i++)
{
var aCrumb = aCookie[i].split("=");
if ("preSrc" == aCrumb[0])
preSrc = unescape(aCrumb[1]);
}
// 如果没找到,那么使用默认页
if (preSrc == null)
preSrc = "Vender/HeadPage.aspx"; // 设置Iframe页的地址为刷新前最后访问地址
document.all["frmMain"].src = preSrc;
}用这个吧,肯定搞定了
Response.Redirect("../MySite/UserRegister.aspx?UserType=" + HttpUtility.UrlEncode(type.ToString()) + "&UpId=" + Utility.Helper.GetValueFromCookies(this.Page, "Hotel.Manage.Admin", "TM.Id") + "&IsPass=1"); 看看我改的,OK不
上面的可以用的啦
不是的 我说的是改成你用的那种response.write(" <Script>window.parent.location='../MySite/UserRegister.aspx'+后面怎么拼接 </Script>")
response.write("<Script>window.parent.location='../MySite/UserRegister.aspx?UserType='" +HttpUtility.UrlEncode(type.ToString())+"'&UpId='"+Utility.Helper.GetValueFromCookies(this.Page, "Hotel.Manage.Admin", "TM.Id")+"'&IsPass=1'</Script>");看看,可以不
response.write("<Script>window.parent.location='../MySite/UserRegister.aspx?UserType='" + Server.UrlEncode(type.ToString()) + "'&UpId='" + Utility.Helper.GetValueFromCookies(this.Page, "Hotel.Manage.Admin", "TM.Id") + "'&IsPass=1'</Script>");
用Server.UrlEncode加密看看呢!
response.write("<Script>window.parent.location='../MySite/UserRegister.aspx?UserType='" + Server.UrlEncode(type.ToString()) + "'&UpId='" + Server.UrlEncode(Utility.Helper.GetValueFromCookies(this.Page, "Hotel.Manage.Admin", "TM.Id")) + "'&IsPass='" + Server.UrlEncode("1")+ "</Script>");
还是不行哦 为什么用response.write就不能加密妮?
string a = Server.UrlEncode("123123");
string b = Server.UrlEncode("23423423");
string c = Server.UrlEncode("1");
Response.Write("<Script>window.parent.location='Default2.aspx?UserType='" +a+ "'&UpId='" +b+ "'&IsPass='" +c+ "</Script>");
你用段点走一下,看看结果怎么样
这个肯定行