aspx窗体中弹出另外web窗体应用及相关问题 .

在aspx页面的一个button的click事件中实现弹出一个固定大小的(400*400)的窗体:

Response.Write(" <script language=javascript>window.open ('urladdress', '','height=200, width=200, top=1, left=1, toolbar=no, menubar=no, scrollbars=no, resizable=yes,location=no, status=no') ; </script>");

下面再说一说弹出窗口的设置。只要再往上面的代码中加一点东西就可以了。
我们来定制这个弹出的窗口的外观,尺寸大小,弹出的位置以适应该页面的具体情况。


参数解释:
window.open 弹出新窗口的命令;
'page.html' 弹出窗口的文件名;
'newwindow' 弹出窗口的名字(不是文件名),非必须,可用空''代替;
height=100 窗口高度;
width=400 窗口宽度;
top=0 窗口距离屏幕上方的象素值;
left=0 窗口距离屏幕左侧的象素值;
toolbar=no 是否显示工具栏,yes为显示;
menubar,scrollbars 表示菜单栏和滚动栏。
resizable=no 是否允许改变窗口大小,yes为允许;
location=no 是否显示地址栏,yes为允许;
status=no 是否显示状态栏内的信息(通常是文件已经打开),yes为允许;


运行以后会发现,新窗口是打开了,但是原来页面的字体变大了,原因是直接Response.write输出脚本代码到顶部,打乱了文档模型,所以造成了这样的结果。

解决方法:


这个方法用于在页响应中发出客户端脚本块,前一个参数是该Script在页面中的唯一名称(随便起,不重复就行),后一个是脚本内容。

这个方法应该是微软官方推荐的方法。

方法二:在原程序的Response.Write()语句后再加一句

Response.Write("<script>document.location=document.location;</script>");

想出这个办法的人真高!

我实际中常常使用方法二,比较快捷,但是方法一推荐的解决方案,大家有兴趣可以试试看

原文地址:https://www.cnblogs.com/dlf-myDream/p/4688947.html