【问题标题】:ASP.NET/jQuery Post-Back, but not when using browser's "Back" buttonASP.NET/jQuery Post-Back,但不是在使用浏览器的“返回”按钮时
【发布时间】:2011-03-31 12:26:54
【问题描述】:

我正在开发一个带有 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 类等),所有这些在返回后应该是相同的。

干杯, 马蒂亚斯

【问题讨论】:

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


    【解决方案1】:

    您可能想查看历史点功能;您也许可以利用此功能:http://msdn.microsoft.com/en-us/library/cc488548.aspx

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

    【讨论】:

    • 谢谢布赖恩,看来我应该重构我的代码的某些部分。我会看看它,然后我会写另一篇文章。
    猜你喜欢
    • 1970-01-01
    • 2013-09-27
    • 1970-01-01
    • 1970-01-01
    • 2011-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-08
    相关资源
    最近更新 更多