关于弹出窗口的问题
有个temp.aspx,里面有一个DropDownList(ddl),一个Button(btn)。ddl有个服务器事件ddl_SelectedIndexChanged(object sender, System.EventArgs e)。我把ddl的AutoPostBack设为了True。那我在把temp.aspx当子窗口弹出时,用window.open()好呢还是用window.showModalDialog好呢?如果用后者,在触发ddl_SelectedIndexChanged(object sender, System.EventArgs e)时,如何处理页面刷新弹出另一个temp.aspx页面的问题? 问题点数:50、回复次数:6Top
1 楼zhanqiangz(闲云野鹤-Overriding)回复于 2004-08-03 18:29:14 得分 30
回想一下,上面的弹出窗口虽然酷,但是有一点小毛病(沉浸在喜悦之中,一定 没有发现吧?)比如你将上面的脚本放在一个需要频繁经过的页面里(例如首页),那么每次刷新这个页面,窗口都会弹出一次,是不是非常烦人?:-(
有解决的办法吗?Yes! ;-) Follow me.我们使用cookie来控制一下就可以了。
首先,将如下代码加入主页面HTML的<HEAD>区:
<script>
function openwin(){
window.open("page.html","","width=200,height=200")
}
function get_cookie(Name) {
var search = Name + "="
var returnvalue = "";
if (documents.cookie.length > 0) {
offset = documents.cookie.indexOf(search)
if (offset != -1) {
offset += search.length
end = documents.cookie.indexOf(";", offset);
if (end == -1)
end = documents.cookie.length;
returnvalue=unescape(documents.cookie.substring(offset, end))
}
}
return returnvalue;
}
function loadpopup(){
if (get_cookie('popped')==''){
openwin()
documents.cookie="popped=yes"
}
}
</script>
然后,用<body onload="loadpopup()">(注意不是openwin而是loadpop啊!)替换主页面中原有的<BODY>这一句即可。你可以试着刷新一下这个页面或重新进 入该页面,窗口再也不会弹出了。真正的Pop-Only-Once!
Top
2 楼bcqingteng(夜行老鼠)回复于 2004-08-03 18:43:24 得分 0
运行时提示出现“运行时错误”???,我JS不是很熟Top
3 楼bcqingteng(夜行老鼠)回复于 2004-08-03 18:45:13 得分 0
语法错误,不好意思Top
4 楼codeangel(http://www.wSoft.Net)回复于 2004-08-03 18:49:15 得分 10
嘿嘿,用window.open吧Top
5 楼skylarkzcc(抱膝独坐在风中)回复于 2004-08-03 18:55:47 得分 10
window.openTop
6 楼bcqingteng(夜行老鼠)回复于 2004-08-05 14:36:42 得分 0
呵呵,多谢各位,这个问题我暂时用open处理了,不过我今天看到一个用showModalDialog处理的帖子,可以学习学习,大家有兴趣也看看吧,我把帖子结了.
http://community.csdn.net/Expert/topic/3244/3244641.xml?temp=.5679285
里面的方法我没试,不过看样子挺好的Top




