由于项目要用到弹出窗口或者叫做模拟窗口这段时间就研究了下解决方案很多比如windowopen();windowshowDialog();用层模拟框架+DIV+Javascript
用windowopen()这种方法的缺点是会被浏览器或者相关软件给屏蔽掉用层模拟的话如果想实现较复杂点的窗口就比较困难第三种方法是综合了所有的网页制作知识可以提供个很好的解决方案但是第三种实现起来对于Javascript知识不够的人来说很难完成前段时间在网上逛的时候发现了个好的解决方案GreyBox经过反复研究发现GreyBox几乎可以完成所有的弹出窗口(但是好像对框架中的框架不太支持)为了方便使用我把GreyBox封装为一个控件现在把用法贴出来
涉及到的文件:GreyBoxdll(动态库) greyboxloaderaspxgreyboxloaderaspxcs (加载网页的框架)gb_stylescss(样式表)
添加文件:
① 添加引用GreyBoxdll 到Bin文件夹
② 添加greyboxloaderaspxgreyboxloaderaspxcs到项目的根目录
③ 添加gb_stylescss文件到imges/css/ 文件夹下
调用方法:
①引用控件
在页面顶部加入代码
<%@ Register Assembly=
GreyBox
Namespace=
GreyBox
TagPrefix=
cc
%>
在<form></form>之间添加代码
<cc
:GreyBox id=
Geybox
runat=
server
></cc
:GreyBox>
②加载CSS文件:
HtmlLink myHtmlLink = new HtmlLink();
myHtmlLinkHref = images/css/gb_stylescss;
myHtmlLinkAttributesAdd(rel stylesheet);
myHtmlLinkAttributesAdd(type text/css);
PageHeaderControlsAdd(myHtmlLink);
③注册弹出新窗口事件(以Button为例):
this
Button
Attributes
Add(
onclick
return GB_showCenter(
修改密码
echangepw
aspx
)
);
GB_showCenter(titleurlheightwidth)
方法的参数说明:
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>
);
说明Greybox的所有资源归其原作者所有感兴趣的可以去其网站看上面有详尽的介绍当然也可以和我讨论我很愿意和大家分享