单击超链接后ASP.Net保存
我需要调用save方法,当用户离开页面时,该方法在会话中持久化模型/对象单击超链接后ASP.Net保存,asp.net,Asp.net,我需要调用save方法,当用户离开页面时,该方法在会话中持久化模型/对象 该页面有各种链接,它们不会引发回发,而只是执行重定向。是否有任何ASP.Net页面生命周期方法可以挂接以执行保存而无需回发?一种解决方案是在卸载窗口时执行异步POST请求(无需等待响应): 使用jQuery的示例如下: $(window).unload(function() { $.post(location.href, $(document.forms[0]).serialize()); }); 尽管您可能需要
该页面有各种链接,它们不会引发回发,而只是执行重定向。是否有任何ASP.Net页面生命周期方法可以挂接以执行保存而无需回发?一种解决方案是在卸载窗口时执行异步POST请求(无需等待响应): 使用jQuery的示例如下:
$(window).unload(function() {
$.post(location.href, $(document.forms[0]).serialize());
});
尽管您可能需要对Chrome使用稍微不同的方法(可在上找到):
看来这是唯一的办法
在Chrome中通过Ajax请求
是使用非标准事件
在卸载之前打开。铬明显
没有等待足够长的时间来发送
使用onunload的Ajax请求。是的
但是,请等待警报
那要看情况了
如果您需要在用户离开页面时保存值,那么这有点困难
您可以做的是将所有链接包装到一些jquery中,如:
- 发出Ajax调用,调用AjaxSave.aspx,然后调用完成,然后调用window.location到links href属性
最后一件事是像StackOverflow那样做。如果您正在编辑内容,当您离开页面时,它会显示一条警告,然后您必须单击“确定”以离开该站点。我不确定,但我们是否有权对卸载方法发出新请求?但如果它起作用,那就太酷了。对于此人,他将需要将location.href更改为可以将值保存到会话中的aspx文件的位置。这似乎是可行的。请阅读jQuery论坛上的这篇文章:ASP.NET页面生命周期存在于服务器上,根据定义,甚至需要回发才能开始。只需使用LinkButton控件并从服务器端重定向即可。我有点认为,可能有一些javascript方法隐藏在某个地方会有所帮助。