关闭弹出窗口的问题

时间:2022-09-19 23:40:31
我想实现的效果是用:
Response.Write("<script type='text/javascript'> showModalDialog('newalbumwindow.aspx', '', 'dialogWidth:400px;dialogHeight:300px;center:yes;help:no;resizable:no;status:no;')</script>");

实现弹出窗口后,点击弹出窗口的“保存”按钮,直接关闭当前窗口,回到主页面,关闭函数我用了:
Response.Write("<script>window.close();</script>");
但现在问题是,为什么我点击保存后,会新出现两个页面,且关闭新出现的两个页面和弹出窗口后,主页布局不居中了呢?
如图:
关闭弹出窗口的问题
求真相啊!

14 个解决方案

#1


无标题文档是我的主页

#2


路过学习

#3


顶一下

#4


主页面不居中,是因为Response.Write前台是写在页面所有标签的前面的,这样会影响样式的,下面是我测试的代码,你可以看看你的页面点击查看源文件,看看是不是这样的
119888<br />
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
<html xmlns="http://www.w3.org/1999/xhtml" >
<head><title>
无标题页
</title></head>
<body>
    <form name="form1" method="post" action="Default.aspx" id="form1">
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJNzgzNDMwNTMzZGQ40gAOuumN6idzuIvZR9WGN7wsiQ==" />
</div>
 
    <div>
    </div>
    </form>
</body>
</html>

#5


路过看看

#6


继续求解

#7


就是因为用response.write输出会影响样式

#8


用下面的方式弹出后会影响页面布局
Response.Write("<script>...</script>");

建议用以下方式来实现,弹出后不会对页面布局产生影响
ClientScript.RegisterStartupScript(this.GetType(), "alert", "<script>...</script>");

#9


引用 8 楼 li2012kui 的回复:
用下面的方式弹出后会影响页面布局
Response.Write("<script>...</script>");

建议用以下方式来实现,弹出后不会对页面布局产生影响
ClientScript.RegisterStartupScript(this.GetType(), "alert", "<script>...</script>");


弹出后,怎么关闭呢?

#10


现在不影响布局了,但怎么直接关闭对话框呢?

#11


ClientScript.RegisterStartupScript(this.GetType(), "", "关闭窗口的方法", true);

#12


引用 11 楼 zhou_xuexi 的回复:
ClientScript.RegisterStartupScript(this.GetType(), "", "关闭窗口的方法", true);

还是会新出现两个页面,到底咋办啊

#13


打开的要关闭的窗体时用ShowModel的方式,或者更改浏览器的安全设置

#14


用前台脚本调用方法就不会出现这个问题了,你在后台调用就会出现这个问题

#1


无标题文档是我的主页

#2


路过学习

#3


顶一下

#4


主页面不居中,是因为Response.Write前台是写在页面所有标签的前面的,这样会影响样式的,下面是我测试的代码,你可以看看你的页面点击查看源文件,看看是不是这样的
119888<br />
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
<html xmlns="http://www.w3.org/1999/xhtml" >
<head><title>
无标题页
</title></head>
<body>
    <form name="form1" method="post" action="Default.aspx" id="form1">
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJNzgzNDMwNTMzZGQ40gAOuumN6idzuIvZR9WGN7wsiQ==" />
</div>
 
    <div>
    </div>
    </form>
</body>
</html>

#5


路过看看

#6


继续求解

#7


就是因为用response.write输出会影响样式

#8


用下面的方式弹出后会影响页面布局
Response.Write("<script>...</script>");

建议用以下方式来实现,弹出后不会对页面布局产生影响
ClientScript.RegisterStartupScript(this.GetType(), "alert", "<script>...</script>");

#9


引用 8 楼 li2012kui 的回复:
用下面的方式弹出后会影响页面布局
Response.Write("<script>...</script>");

建议用以下方式来实现,弹出后不会对页面布局产生影响
ClientScript.RegisterStartupScript(this.GetType(), "alert", "<script>...</script>");


弹出后,怎么关闭呢?

#10


现在不影响布局了,但怎么直接关闭对话框呢?

#11


ClientScript.RegisterStartupScript(this.GetType(), "", "关闭窗口的方法", true);

#12


引用 11 楼 zhou_xuexi 的回复:
ClientScript.RegisterStartupScript(this.GetType(), "", "关闭窗口的方法", true);

还是会新出现两个页面,到底咋办啊

#13


打开的要关闭的窗体时用ShowModel的方式,或者更改浏览器的安全设置

#14


用前台脚本调用方法就不会出现这个问题了,你在后台调用就会出现这个问题