一个通过asp.net弹出窗口不被IE阻止的方法

刚开始为了弹出窗口而这样写的:
Response.Write("<SCRIPT>window.open('" & url & "','null')</SCRIPT>")
结果昨天一切OK,今天却不行了。全部都提示被阻止。我的操作系统是2003的。在XP下没试过。
为了达到通过在asp.net里编程来实现打开指定的页面。想到一个变通的方法:
1.在aspx文件里的body里加一onload属性。指向一个链接的click()事件。
2.添加一个链接。设置它的href属性为空(否则每次都要打开一个页面了),设置target="_blank",另外很重要的一点就是要设置它不显示:style="display: none" 。最后为了能在后台的asp.net程序里控制它的href属性。需要设置其为服务器控件,因此加上runat="server"。
< body  style ="text-align: center; margin-left: 0; margin-right: 0; margin-top: 0; margin-bottom: 0;"
 onload ="link.click()" >
< href =""  id ="link"  target ="_blank"  style ="display: none"  runat ="server" > hehe </ a >
link里的字符串内容无所谓了。我是随便写的。因为设置了其为不显示。呵呵。
那么经过这样的设置后,就可以在后台的程序里控制它了。例如我是在一个button的点击事件里加:
link.HRef = url
其中url是我通过程序动态生成的一个网页及参数。

以前也查过一些关于打开新窗口的一些方法。大致有两种:
1.通过能button添加注册一个方法。这样调用起来编程不方便。
2.通过调用一个JS方法。通过window.open来使用(如我原来所用的),但这样会被阻止。

为什么我要这么做呢?因为我的button点击后的事件里。我要通过判断dorpdownlist控件的选择值来打开不同的页面。并且有些选择值是不需要打开新页面的。所以用单纯的上述两种JS方法不易控制。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值