急急 window.showModalDialog 怎么关闭关窗口

seatu 2005-02-17 03:18:31
是这样的,我用showModalDialog打开一个.aspx的网页,在.aspx网页上有一个按钮,
在点击事件中,在处理完一个存储过程后,执行该语句
Response.Write("<script language=javascript>window.close();</script>");
但是,该窗口并没有关闭,好像是闪了一下,关掉了一个新的窗口。有什么办法把新
窗口关掉呢?
...全文
865 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
SprinBell 2005-02-18
  • 打赏
  • 举报
回复
都说完了,顶。。。
<head>
...
<base target="_self">
</head>
toilingchen 2005-02-17
  • 打赏
  • 举报
回复
学习...
goody9807 2005-02-17
  • 打赏
  • 举报
回复
例子
WebForm2.aspx.vb
Inherits System.Web.UI.Page
Protected WithEvents Button1 As System.Web.UI.WebControls.Button
Protected WithEvents TextBox1 As System.Web.UI.WebControls.TextBox
Protected WithEvents Button2 As System.Web.UI.WebControls.Button
Protected WithEvents TextBox2 As System.Web.UI.WebControls.TextBox
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Button1.Attributes.Add("onclick", "var st=window.showModalDialog('user.aspx?val='+document.all('TextBox1').value);document.all('TextBox1').value=st;return st;")
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
RegisterStartupScript("key", "<script>window.opener=null;window.close(this);</script>")
End Sub
user.aspx.vb
Protected WithEvents TextBox1 As System.Web.UI.WebControls.TextBox
Protected WithEvents cancel As System.Web.UI.WebControls.Button
Protected WithEvents ok As System.Web.UI.WebControls.Button
Protected WithEvents TextBox2 As System.Web.UI.WebControls.TextBox
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim str As String
If Not IsPostBack Then
str = Request.QueryString("val")
TextBox1.Text = str
End If
End Sub
Private Sub cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cancel.Click
RegisterStartupScript("key", "<script>window.returnValue='null';window.opener=null;window.close(this);</script>")
End Sub
Private Sub ok_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ok.Click
RegisterStartupScript("key", "<script>window.returnValue=document.all('TextBox2').value;window.opener=null;window.close(this);</script>")
End Sub
goody9807 2005-02-17
  • 打赏
  • 举报
回复
1.模态窗口的打开
2.模态窗口的关闭
3.模态窗口的传递参数。
4.其他。。。。


1.window.showModalDialog("DialogPage.aspx","newwin","dialogHeight: 200px; dialogWidth: 150px; dialogTop: 458px; dialogLeft: 166px; edge: Raised; center: Yes; help: Yes; resizable: Yes; status: Yes;");

2.window.close();

3.传值
ParentPage.aspx:
window.showModalDialog("DialogPage.aspx?para1=aaa¶2=bbb");

DialogPage.aspx:
string str1=Request.QueryString["para1"].toString();
string str2=Request.QueryString["para2"].toString();

返回值
DialogPage.aspx:
window.returnValue="aaa";

ParentPage.aspx:
var str=window.showModalDialog("DialogPage.aspx");

4.
aspx页面在showmodeldialog情况下为什么一提交就重新打开一个页面?
showmodaldialog打开的页面中在<head></head>之间加入一行:<base target="_self">
toilingchen 2005-02-17
  • 打赏
  • 举报
回复
@zjsen

showModalDialog打开的页面如果有postback的话会打开一个新的窗体的。
为什么呢?
八爪鱼-杭州 2005-02-17
  • 打赏
  • 举报
回复
showModalDialog打开的.aspx的html的head里加上<base target=_self>
showModalDialog打开的页面如果有postback的话会打开一个新的窗体的。
醉龍 2005-02-17
  • 打赏
  • 举报
回复
我想你应该知道:showModalDialog打开一个.aspx的网页保证在<HEAD><HEAD/>中有<base target="_self">的意思吧!
醉龍 2005-02-17
  • 打赏
  • 举报
回复
楼主写法不对:

showModalDialog打开一个.aspx的网页
保证在<HEAD><HEAD/>中有<base target="_self">

可以这样写
this.RegisterClientScriptBlock("aaa","<script language=javascript>window.close();</script>");
njuzgj 2005-02-17
  • 打赏
  • 举报
回复
UP
nga96 2005-02-17
  • 打赏
  • 举报
回复
UP,
kenMoxi 2005-02-17
  • 打赏
  • 举报
回复
up
toilingchen 2005-02-17
  • 打赏
  • 举报
回复
用showModalDialog打开一个.aspx的网页,然后提交这个页面,在Response.Write("<script language=javascript>window.close();</script>");
关闭的时候,其实会有两个页面在运行。你用debug试试,页面会运行两次。

我也碰到同样的问题,后来我webservice了,老是闪一下,不爽。
dsclub 2005-02-17
  • 打赏
  • 举报
回复
<body onload="self.close();">

这样绝对是可以的!

我不知道为什么会有一个新的窗口,还闪你一下?
哪里来的呢?开开代码是不是有什么问题?!

62,072

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧