ASP.NET / jQuery Post-Back,但不是在使用浏览器的“后退”按钮时

时间:2010-08-18 11:56:25

标签: javascript asp.net jquery ajax web-applications

我正在使用一些AJAX魔法开发ASP.NET Web项目。由于我的GridView数据需要最多收集15秒,我将页面发送到客户端并通过jQuery / JScript激发UpdatePanel的异步更新(见下文)。

到目前为止这种方法效果很好。现在,当用户导航到下一页(例如记录详细信息视图)并通过“后退”按钮返回时,我想跳过此步骤。有没有办法获得他的,最优雅的是什么?

这个不起作用(浏览器不保存hasDonePostBack的值):

var hasDonePostBack = false;
function fRefreshAsyncOnce(id, param) {
    $(document).ready(function() {
        if (!hasDonePostBack) {
            __doPostBack(id, param);
            hasDonePostBack = true;
        }
    });
}

任何帮助都会很棒!

这很重要的原因:重新获取数据还需要15秒。此外,网格正在使用控件和更多客户端脚本(例如,可以检查的复选框,切换的CSS类等),并且在返回后所有这些应该是相同的。

干杯, 的Matthias

1 个答案:

答案 0 :(得分:1)

您可能需要查看历史记录点功能;您可以利用此功能:http://msdn.microsoft.com/en-us/library/cc488548.aspx

然而,这是触发客户端操作时野兽的本质...另一个选项是允许用户使用这种技术取消回发(或尝试解释自己取消它的方法):{{ 3}}