为什么我的模式窗口关不了?

Jimyu1110 2004-11-04 01:35:56
我有两个WebForm:WebForm1、WebForm2,同时WebForm1和WebForm2里都有一个按扭Button1,
WebForm1的Button1有用来模式打开WebForm2的,Html代码为:
var MyData=new object;
var Return=window.showModalDialog("WebForm2.aspx",MyData);


在WebForm2里的Button1是用来关闭本页面的。
C#代码如下:
private void Button1_Click(object sender, System.EventArgs e)
{
RegisterStartupScript("CloseWindow", "<script language=javascript>window.close(this);</script>");
}
在点WebForm2的Button1时会出来一个的新页,而且马上又关闭了,但WebForm2本身却没有关闭,如果把WebForm2作为非模式打开(如设为起始页)却能正常关闭,为什么?有什么办法可以让WebForm2作为模式页时能关闭(关闭代码不要写在Html里)?
...全文
168 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
firewing 2004-11-04
  • 打赏
  • 举报
回复
这是因为你的ShowModuleDialog是弹出一个Aspx页面有关,只要弹出的aspx Postback回去之后就不再是一个ModuleDialog了,你只能将这个需要执行postback 的Aspx嵌在一个另外一个页面Iframe里面再执行showmoduledialog才行的。至于你的问题只接写<input type="button" value="close" onclick="javascript:window.close()">作客户端的动作就好了!
雄蜂 2004-11-04
  • 打赏
  • 举报
回复
页面html的<head>中加入<base target="_self">即可。
gengxin_914 2004-11-04
  • 打赏
  • 举报
回复
你还是在html里写关闭吧。用HTML按钮!
Jimyu1110 2004-11-04
  • 打赏
  • 举报
回复
试过了,用window.close()也不行,this是不行之后才加的.
swzlxm 2004-11-04
  • 打赏
  • 举报
回复
window.close(this)当然是关闭窗口1了

用:window.close()

因为模态窗口其实不是真正的窗口,THIS指的不是模态
Jimyu1110 2004-11-04
  • 打赏
  • 举报
回复
我现在是想在代码里实现关闭这个模式窗体,但代码要写在程序文件里。
rickjelly2004 2004-11-04
  • 打赏
  • 举报
回复
window.close()
adminyao 2004-11-04
  • 打赏
  • 举报
回复
Javascript有许多内建的方法来产生对话框,如:window.alert(), window.confirm(),window.prompt().等。 然而IE提供更多的方法支持对话框。如:

  showModalDialog() (IE 4+ 支持)
   showModelessDialog() (IE 5+ 支持)


window.showModalDialog()方法用来创建一个显示HTML内容的模态对话框,由于是对话框,因此它并没有一般用window.open()打开的窗口的所有属性。
window.showModelessDialog()方法用来创建一个显示HTML内容的非模态对话框。

当我们用showModelessDialog()打开窗口时,不必用window.close()去关闭它,当以非模态方式[IE5]打开时, 打开对话框的窗口仍可以进行其他的操作,即对话框不总是最上面的焦点,当打开它的窗口URL改变时,它自动关闭。而模态[IE4]方式的对话框始终有焦点(焦点不可移走,直到它关闭)。模态对话框和打开它的窗口相联系,因此我们打开另外的窗口时,他们的链接关系依然保存,并且隐藏在活动窗口的下面。

使用方法如下:
vReturnValue = window.showModalDialog(sURL [, vArguments] [, sFeatures])
vReturnValue = window.showModelessDialog(sURL [, vArguments] [, sFeatures])
参数说明:
sURL
必选参数,类型:字符串。用来指定对话框要显示的文档的URL。
vArguments
可选参数,类型:变体。用来向对话框传递参数。传递的参数类型不限,包括数组等。对话框通过window.dialogArguments来取得传递进来的参数。
sFeatures
可选参数,类型:字符串。用来描述对话框的外观等信息,可以使用以下的一个或几个,用分号“;”隔开。
dialogHeight 对话框高度,不小于100px,IE4中dialogHeight 和 dialogWidth 默认的单位是em,而IE5中是px,为方便其见,在定义modal方式的对话框时,用px做单位。
   dialogWidth: 对话框宽度。
   dialogLeft: 距离桌面左的距离。
   dialogTop: 离桌面上的距离。
   center: {yes | no | 1 | 0 }:窗口是否居中,默认yes,但仍可以指定高度和宽度。
   help: {yes | no | 1 | 0 }:是否显示帮助按钮,默认yes。
   resizable: {yes | no | 1 | 0 } [IE5+]:是否可被改变大小。默认no。
   status: {yes | no | 1 | 0 } [IE5+]:是否显示状态栏。默认为yes[ Modeless]或no[Modal]。
scroll:{ yes | no | 1 | 0 | on | off }:指明对话框是否显示滚动条。默认为yes。

还有几个属性是用在HTA中的,在一般的网页中一般不使用。
dialogHide:{ yes | no | 1 | 0 | on | off }:在打印或者打印预览时对话框是否隐藏。默认为no。
edge:{ sunken | raised }:指明对话框的边框样式。默认为raised。
unadorned:{ yes | no | 1 | 0 | on | off }:默认为no。

62,041

社区成员

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

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

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

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