Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 确认IE模态对话框关闭是否有效_Javascript_Asp.net_Internet Explorer - Fatal编程技术网

Javascript 确认IE模态对话框关闭是否有效

Javascript 确认IE模态对话框关闭是否有效,javascript,asp.net,internet-explorer,Javascript,Asp.net,Internet Explorer,我刚刚使用.NET3.5编写了一个Word文档创建web应用程序,它使用SQL后端的XML和XSL-T样式表将Word XML文档作为模板转换为字母,供用户发送给客户端。一切都很顺利,我对结果感到满意,xslcompiledtransform即使使用臃肿的word xml文档也非常快速:0)。我唯一的问题是,这个应用程序是从旧的.NET 1.1应用程序在模式IE对话框中启动的,客户端希望在关闭模式对话框之前有条件地提示用户 用户调用生成过程后,将触发部分回发事件,并在更新面板的列表视图中显示文档

我刚刚使用.NET3.5编写了一个Word文档创建web应用程序,它使用SQL后端的XML和XSL-T样式表将Word XML文档作为模板转换为字母,供用户发送给客户端。一切都很顺利,我对结果感到满意,xslcompiledtransform即使使用臃肿的word xml文档也非常快速:0)。我唯一的问题是,这个应用程序是从旧的.NET 1.1应用程序在模式IE对话框中启动的,客户端希望在关闭模式对话框之前有条件地提示用户

用户调用生成过程后,将触发部分回发事件,并在更新面板的列表视图中显示文档列表,当他们单击文档名称时,文档将被提供给他们,IE显示下载对话框,另一部分回发将用绿色勾号更新listview,以指示用户已请求该文档

客户端请求,如果用户试图在请求所有文档之前关闭对话框,则会提示用户确认选项OK和Cancel。我通过表单上的实际“close”(关闭)按钮实现了这一罚款,该按钮会显示一个符合要求的弹出窗口,如果用户单击OK(确定),则会通过javascript攻击关闭窗口。如果用户决定单击标准窗口x按钮,则会出现问题。我设法使用IE方法,将onunload事件添加到正文中,并返回一个带有自定义消息的字符串,就像Microsoft CRM使用的那样,但出于几个原因,这一方法并不理想

首先,它非常难看,我不喜欢这个功能附带的标准的不可控附加消息。我还有一个主要的问题,就是每一篇部分回复都会导致这种情况,这是可以理解的,但非常烦人,即使没有生成任何文档,或者这些文档已经生成,并且所有文档都已被请求

所以最后我的问题是:我能不能用我自己的包含简单逻辑的函数(可能是Iframe之类的函数)使用标准的javascript confirm,在onunload中骗IE取消闭包?或者在标准IE弹出窗口出现时添加一些逻辑

我知道这是一个标准的功能,它的存在是出于一个良好的安全原因,但这是客户真正想要的,这不是一个面向公众的网站,它只在公司内部使用

事先非常感谢,对华夫饼干表示歉意,但我只是想确保尽可能多地提供细节,因为我对最初的问题“为什么?”


保罗

随着发布的临近,没有人准备筛选我的华夫饼干,我选择了标准的IE OnForeUnload事件。在我的js中,我有:

window.onbeforeunload = PromptUserToClose

function PromptUserToClose()
  if(!allDownloaded){
     return "Are you sure....."
  }
但问题是,我的更新面板中有链接按钮,这些按钮导致部分Post Back,IE出于某种原因认为这是卸载窗口,因此为了避开它,我将它们更改为asp:Hyperlinks,然后使用
Page.ClientScript.GetPostBackEventReference(Me,“MyCustomArgument”)
。这就完成了任务

谢谢

保罗