2014-10-09 2 views
0

ASP.NET WebGrid를 사용하는 경우 페이지 번호, 정렬 방향 등을 나타내는 이름과 값을 포함하는 URL에 특정 쿼리 문자열을 추가하여 페이징 및 정렬 작업을 수행합니다. 그러나 ajaxUpdateId 속성을 사용하여 WebGrid를 비동기 적으로 업데이트 할 수있는 경우 꼬리말의 페이지를 클릭하거나 헤더를 클릭하여 열을 정렬하면 잘 작동하지만 쿼리 문자열은 더 이상 브라우저 페이지를 새로 고친 후 페이징 및 정렬을 지속하지 않는 URL에 추가되지 않습니다. ajax를 통해 WebGrid를 업데이트하는 동안 정렬 및 페이징 값을 유지하는 방법이 있습니까? 유용한 제안 사항에 대해 미리 감사드립니다.ajax를 통해 업데이트 할 때 ASP.NET MVC WebGrid에서 정렬 및 페이징을 유지하는 방법은 무엇입니까?

답변

0

해결책을 찾은 것 같습니다. 어쩌면 완벽하지는 않지만 작동합니다. 나는 WebGrid가 ajax를 통해 업데이트 할 때 작동하는 방식을 알아 내려고 애 쓰면서 많은 시간을 보냈지 만 모든 기능은 숨겨져 있습니다. 페이지를 새로 고칠 때도 정렬 및 페이징을 유지해야하는 경우 페이지를 변경하거나 정렬 할 때마다 URL을 업데이트해야합니다. WebGrid는 URL의 쿼리 문자열로이를 기억합니다. 그래서 WebGrid 내의 모든 링크에 jquery click 이벤트를 추가하고 history.pushState 함수를 사용하여 클릭 한 URL을 저장 한 다음 페이지를 새로 고칩니다 (한 번만 변경하면됩니다. URL이)

<script type="text/javascript"> 
    $("#gridContainderID a").click(function() { 
     history.pushState(null, null, this.href); 
     location.reload(); 
    }); 
    </script> 
0

이 코드와 함께 할 수 있었다 : 이 (거짓 반환주의)

$('#gridContent tfoot a[href]').click(function() { 
     history.replaceState({}, null, this.href); 
     return false; 
}); 
!
관련 문제