1

使用 c# .net

嗨,我正在尝试对卸载事件进行回发,在谷歌浏览器中,当前脚本工作正常

window.onbeforeunload = function () {
            __doPostBack('<%= pararThread.ClientID.Replace("_", "$") %>');
        }

for internet explorer and other, I had to use Jquery
        $(window).unload(function () {
            __doPostBack('<%= pararThread.ClientID.Replace("_", "$") %>');
        });

到目前为止,一切都很好,但是,只有在 Firefox 中,页面正在回发,但它不再转到另一个页面,例如,如果点击链接,它将触发事件 unLoad,它会回发,但页面会刷新,不会到达链接

Ps:我正在做这个postBack,因为我需要停止一个在服务器上运行的线程。

4

1 回答 1

0

只需在您的 .master 页面或标签之前的任何其他适当页面中添加此代码段</body>

<script language="javascript" type="text/javascript">
<!--
function __doPostBack(eventTarget, eventArgument) {
var theform;
if (window.navigator.appName.toLowerCase().indexOf("microsoft") > -1) {
theform = document.aspnetForm;
}
else {
theform = document.forms["aspnetForm"];
}
theform.__EVENTTARGET.value = eventTarget.split("$").join(":");
theform.__EVENTARGUMENT.value = eventArgument;
theform.submit();
}
// -->
</script>

用您自己的替换“aspnetForm”。

于 2012-11-08T22:07:22.680 回答