ASP.NET MVC3 Razor - 在回发时保持滚动位置

时间:2011-09-02 01:07:33

标签: asp.net-mvc-3 razor scroll postback position

在排序使用MvcContrib框架的网格表后,如何在回发时保持滚动位置?

3 个答案:

答案 0 :(得分:1)

通常的方法是使用一些javascript将当前滚动位置设置为隐藏字段,然后在页面加载时恢复该位置(通常在jquery ready事件中)。

然而,这只是一个副作用。您应该使用某种ajax命令来更新网格而不是回发,然后不需要滚动。

答案 1 :(得分:0)

使用jQuery和客户端cookie。

$(function(){
  var posName = location.href + "_top";
  $(window).unload(function() {
    var top = $(document).scrollTop();
    $.cookie(posName, top);
  });

  var goTop = parseInt($.cookie(posName));
  if (goTop) {
    $(document).scrollTop(goTop);
    $.cookie(posName, "");
  }
});

希望这段代码。

答案 2 :(得分:0)

这里发布了一个有用的解决方案:http://www.experts-exchange.com/Hardware/Servers/Q_28082177.html

$(function(){

        var top = parseInt($.cookie("top"));
        if(top) $(document).scrollTop(top);
        $(document).scroll(function() {
            var top = $(document).scrollTop();
            $.cookie("top", top);
        })
    });

这是一个非常古老的帖子,但我已经发布了这个问题,开发人员将会搜索此类问题,可能有所帮助。