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>
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>");
Response.Write("<script>...</script>");
建议用以下方式来实现,弹出后不会对页面布局产生影响
ClientScript.RegisterStartupScript(this.GetType(), "alert", "<script>...</script>");
#9
弹出后,怎么关闭呢?
#10
现在不影响布局了,但怎么直接关闭对话框呢?
#11
ClientScript.RegisterStartupScript(this.GetType(), "", "关闭窗口的方法", true);
#12
还是会新出现两个页面,到底咋办啊
#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>
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>");
Response.Write("<script>...</script>");
建议用以下方式来实现,弹出后不会对页面布局产生影响
ClientScript.RegisterStartupScript(this.GetType(), "alert", "<script>...</script>");
#9
弹出后,怎么关闭呢?
#10
现在不影响布局了,但怎么直接关闭对话框呢?
#11
ClientScript.RegisterStartupScript(this.GetType(), "", "关闭窗口的方法", true);
#12
还是会新出现两个页面,到底咋办啊
#13
打开的要关闭的窗体时用ShowModel的方式,或者更改浏览器的安全设置
#14
用前台脚本调用方法就不会出现这个问题了,你在后台调用就会出现这个问题