如何阻止网页弹出窗口 ASP.NET让网页弹出窗口不再困难
ASP.NET让网页弹出窗口不再困难
由于项目要用到弹出窗口 或者叫做模拟窗口 这段时间就研究了下 解决方案很多 比如 window open();window showDialog();用层模拟 框架+DIV+Javascript
用window open() 这种方法的缺点是 会被浏览器或者相关软件给屏蔽掉 用层模拟的话 如果想实现较复杂点的窗口 就比较困难 第三种方法是综合了所有的网页制作知识 可以提供个很好的解决方案 但是 第三种实现起来 对于Javascript知识不够的人来说 很难完成 前段时间在网上逛的时候 发现了个好的解决方案 GreyBox 经过反复研究 发现 GreyBox几乎可以完成所有的弹出窗口(但是 好像对框架中的框架不太支持) 为了方便使用 我把GreyBox封装为一个控件 现在把用法贴出来
涉及到的文件:GreyBox dll(动态库) greyboxloader aspx greyboxloader aspx cs (加载网页的框架) gb_styles css(样式表)
添加文件:
① 添加引用GreyBox dll 到Bin文件夹 ② 添加greyboxloader aspx greyboxloader aspx cs到项目的根目录 ③ 添加gb_styles css文件到imges/css/ 文件夹下
调用方法:
①引用控件
在页面顶部加入代码
<%@ Register Assembly= GreyBox Namespace= GreyBox TagPrefix= cc %>在<form></form>之间添加代码
<cc :GreyBox id= Geybox runat= server ></cc :GreyBox>②加载CSS文件:
HtmlLink myHtmlLink = new HtmlLink(); myHtmlLink Href = images/css/gb_styles css ; myHtmlLink Attributes Add( rel stylesheet ); myHtmlLink Attributes Add( type text/css ); Page Header Controls Add(myHtmlLink);③注册弹出新窗口事件(以Button为例):

this Button Attributes Add( onclick return GB_showCenter( 修改密码 echangepw aspx ) ); GB_showCenter( title url height width)
方法的参数说明:
title:弹出窗口的标题 url:网址或者网页文件名 height:弹出窗口的高度 width:弹出窗口的宽度
这样 点击Button 就可以弹出一个窗口了
方法:
关闭窗口:
Response Write( < script language=javascript>parent parent GB_hide();</script> );提交并关闭窗口:
有框架的情况(IFRAME)
Response Write( < script language=javascript>parent parent document forms( ) submit();</script> );无框架的情况
Response Write( < script language=javascript>top window document forms( ) submit();</script> ); lishixinzhi/Article/program/net/201311/15519