ASP.NET linkbutton两次提高onBeforeUnload事件
我发布了这个
here,但认为它可能值得一个问题.
我正在尝试做的是显示一个对话框,询问用户是否有未保存的更改时他/她是否要离开页面.一切正常.但问题描述如下: 有没有人遇到过Internet Explorer两次触发onb??eforeunload事件的问题?在谷歌搜索时,我发现它与(以及其他)ASP.NET链接按钮的事实有关,HTML代码是< a href =“javascript:__ doPostBack .... 显然,当IE鼓励一个没有href =“#”的链接时,它会触发onb??eforeunload事件.然后,当您确认我们正在显示的javascript对话框时,页面将执行“真实”卸载以导航到另一个页面,并再次引发onbeforeunload事件. 互联网上提供的解决方案是设置一个布尔变量并在显示对话框之前检查它.所以第二次,它不会显示.这一切都很好,但是当用户取消时,仍然会设置变量.因此,下次用户想要离开页面时,对话框将不再显示. 希望这有点清楚,我希望有人找到解决办法吗? 解决方法
对annakata的反应:是的,但您希望浏览器使用对话框的结果.所以你可能会认为使用’return bFlag’可以做到这一点(或者event.returnValue = bFlag),但这会给你一个第二个对话框.
感谢 this page,我找到了一条路.实际上很简单: var onBeforeUnloadFired = false; 在这里使用此全局变量: if (!onBeforeUnloadFired) { onBeforeUnloadFired = true; event.returnValue = "You'll lose changes!"; } window.setTimeout("ResetOnBeforeUnloadFired()",1000); 然后实现该功能: function ResetOnBeforeUnloadFired() { onBeforeUnloadFired = false; } 因此,实际上,使用标志,但如果用户单击取消,则重置它.不完全是我想要的,但没有找到更好的东西. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 在执行计时器滴答功能时避免回发
- 在ASP.NET中使用querystring的最佳做法?
- asp.net-core – 如何在ASP.NET Core项目中为MVC和SignalR配
- asp.net – HTML敏捷包删除break标签关闭
- asp.net-mvc – 检查上传的文件是否是C#ASP.NET MVC中的图像
- asp.net-mvc – 现有的MVC网站 – 集成Telerik MVC Grid以使
- asp.net-mvc – 使用IIS 7重写模块重写Ampersand URL
- asp.net-mvc – 将Viewmodel数据保存到ASP.NET MVC中的数据
- asp.net-web-api – 无法为Web API OData端点解析MapODataR
- asp.net – “连接字符串指定本地Sql Server Express实例”
- ASP.NET MVC – MapRoute与routes.Add(和404s)
- 我可以在asp.net-mvc 3中的@ Ajax.Actionlink中传
- 谈谈分布式事务(Distributed Transaction)[共5
- 处理asp.net core EF model 中有自增列的问题
- 使用ASP.NET创建缩略图的“最佳”方法是什么?
- asp.net-mvc – 在ASP.NET MVC 4中的用户控制等效
- asp.net – app_offline替代方案
- asp.net-mvc-4 – .NET MVC4 SimpleMembership错
- 什么是ASP.NET MVC中的环境路由值及其工作原理?
- asp.net-core – 如何将值更新到appsetting.json