页面重定向问题!!!

fsxbear 2004-11-15 05:28:13
我的网站是这样的,首页有一个导航栏,每个栏目用Response.Redirect()方法重定向网页。首页中有一个公告栏,栏目旁边有一个更多按钮,也通过Response.Redirect()方法重定向网页。但现在客户要求导航栏每个栏目进入时要重新打开一个窗口。我就改用Response.Write("<script >window.open('接网页地址');</script> ).
但这样做发现有问题,在导航栏点击某一个栏目,打开一个新窗口,然后关闭。再点击公告栏的更多按钮,直接进入新页面后,再按IE浏览器上的后退按钮,应该是退回首页。但问题就出在这里,退回首页的同时,也打开一个新窗口,新窗口的内容就是公告栏按更多按钮所进入的页面。不知道是什么原因???
如果首先不按导航栏的栏目,而进入公告栏,再按IE后退按钮,那正常。我想是和我改动导航栏的连接有关
...全文
475 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
fsxbear 2004-11-22
  • 打赏
  • 举报
回复
有没有办法可以再ImageButton 增加一个属性,类似HyperLink的NavigateUrl一样,我处理完ImageButton的事件后,在执行页面跳转。因为NavigateUrl可以直接http://www.sina.com.cn" target="_blank",弹出一个窗口,不会给IE拦截广告工具拦截
fsxbear 2004-11-19
  • 打赏
  • 举报
回复
发现用打开新窗口方式会给一些IE拦截广告工具拦截,所以有缺陷,有没有方法可以再一个图片按钮下使用超链接<a href="http://www.sina.com.cn" target="_blank">文本</a> 这种方式打开新窗体?
阿哲Zell 2004-11-16
  • 打赏
  • 举报
回复
当你使用Response.Write("<script >window.open('接网页地址');</script> ).
的时候,其实网页已经被改变了,里面加了一个无条件执行的javascript语句:

类似:
<html>
………………
<script >window.open('接网页地址');</script>
………………
</html>

很明显,只要页面刷新。就会打开新网页。

那么当你转移到新页面以后,再退回history.back()
IE会调用缓存里面的页面,也就是你写了<script >window.open('接网页地址');</script>的页面。
那么自然会打开一个新页面了。

解决办法:
1. 禁止使用IE上的回退按钮,而是自己提供回退按钮,重新从服务器上获取首页。就不会打开新窗口了。
2. 使用超链接<a href="http://www.sina.com.cn" target="_blank">文本</a>
3. 用onclick事件<SPAN onclick='window.open('接网页地址');'>文本</SPAN>
4. …………
xaoxong 2004-11-16
  • 打赏
  • 举报
回复
要不是你Session的问题,要不就是Page.IsPostBack的事。关注!
tonybaobao 2004-11-16
  • 打赏
  • 举报
回复
你可以看看页面过期的问题。具体我也不太清楚。
fsxbear 2004-11-16
  • 打赏
  • 举报
回复
我那些导航栏每个栏目都是按钮来的,一点击就把相关参数写入Session里面,然后重定向页面。所以用超链接方式不行。
有什么办法可以把打开一个新窗口的时候,原来窗口的IE后退没相关记录?
fsxbear 2004-11-16
  • 打赏
  • 举报
回复
之前我用了几种方法都不行:
(1)Page.RegisterClientScriptBlock("openWindow","<script language>\rwindow.open('连接页面');\r</script>");
(2)RegisterStartupScript("openWindow","<script language>\rwindow.open('连接页面');\r</script>");
效果和Response.Write一样,跟着我只好从IE后退按钮下手,用javascript控制回退,正如楼上那位讲的第一种方法。添加多一条javascript语句:
Response.Write("<script>window.open('连接网页');window.history.back(0);</script>");
这样打开新页面的时候的同时并使原来页面IE自动后退。
楼上那位后两种方法,只适用文本连接标签把?我的是图片按钮,有点击事件。
AustinLei 2004-11-15
  • 打赏
  • 举报
回复
用超链接<a href="..." target="_top">文本</a

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧