2011-09-02 4 views

답변

1

일반적으로 JavaScript를 사용하여 현재 스크롤 위치를 숨겨진 필드로 설정 한 다음 페이지로드시 해당 위치를 복원합니다 (일반적으로 jquery 준비 이벤트에서).

그러나 이는 실제로 부작용입니다. 포스트 백이 아닌 그리드를 업데이트하려면 일종의 ajax 명령을 수행해야하며 스크롤은 필요하지 않습니다.

+1

이 솔루션은 훌륭하지만 ASP.NET Web Forms에서 MaintainScrollPositionOnPostback = true 속성과 같이 더 쉽고 편리하게 찾을 수 있는지 궁금합니다. MVC Contrib 그리드를 검색 필터와 정렬을 사용하여 내장 솔루션을 예상했지만 찾을 수 없습니다. – Mast3r

+1

그래, 나는 Mast3r에 동의합니다. Ajax를 "사용해야"한다고 말하는 것은 없습니다. 나는 포스트 백을 사용하여 mvc 4에서 viewmodels를 사용하여 훨씬 빠르게 개발하고 유지하기가 더 쉽다. 브라우저 캐싱이 활성화 된 경우 페이지가 튀는 것을 볼 수 없습니다. solution at http://stackoverflow.com/a/2618726/706363 – ppumkin

0

jQuery와 클라이언트 측 쿠키를 사용하십시오.

$(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, ""); 
    } 
}); 

희망 사항.

+0

다른 페이지로 이동하더라도 브라우저가 스크롤된다는 것을 의미합니다. 숨겨진 입력을 사용하는 것이 현재 페이지에만 머물러 있기 때문에 더 좋다고 생각합니다. –

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); 
     }) 
    }); 

이것은 아주 오래된 스레드하지만 도움이 될 수 있습니다, 문제의이 종류 검색됩니다 개발이 게시했다.

관련 문제