当用户关闭.aspx页面时,我想删除数据库表中的一行。我怎么能这样做?我知道如何删除数据库表中的行但我不知道当用户离开.aspx页面时该怎么做?
答案 0 :(得分:0)
您可以将ajax调用绑定到“beforeunload”页面html事件。只需确保使用async false调用ajax,否则页面将在删除实际运行的行的代码之前关闭。我假设您正在使用jQuery进行ajax调用。
例如,在html中:
<body onbeforeunload="runCode();">
YOUR HTML....
<script type="text/javascript">
function runCode() {
$.ajax({
url: 'YourCode.ashx',
async: false,
success: function(data) {
//Do other things before navigating to other page or closing the browser
}
});
}
</script>
</body>
名为YourCode.ashx的文件将包含删除数据库行的代码,或者您想要执行的任何其他操作。这样,即使用户关闭浏览器,代码也会运行。请注意,如果YourCode.ashx中的代码存在问题,则异步错误调用可以锁定您的页面。