2012-01-30 2 views
4

Jquery 대화 상자가 있는데 webgrid가 포함 된 뷰를로드합니다. 그것은 정상적으로 열리고 내용을 웹 그리드에 표시합니다. 그러나 페이징 링크를 클릭하면 webgrid의 다음 페이지가 대화 상자에서 열리지 만 브라우저의 다른 페이지로 열리지 않습니다.MVC3 Webgrid Paging이 Jquery 대화 상자에서 작동하지 않습니다.

Jquery 대화 상자에서 webgrid를 사용할 수 없습니까?

가능한 경우 특정 속성을 설정해야합니까?

답변

12

당신은 예에서, ajaxUpdateCallback 함수를 정의해야합니다

var grid = new WebGrid(source: Model, 
    ajaxUpdateCallback: "GridUpdate", 
    ajaxUpdateContainerId: "grid" 
    rowsPerPage: 50); 

당신의 .GetHtml 방법이 있는지 확인 :

@grid.GetHtml(
    htmlAttributes: new { id = "grid" }, 
//.. rest of the options here 
) 

하고 기본보기에 아래를 추가

<script type="text/javascript"> 
    function GridUpdate(data) { 
     $('#grid').html(data); 
    } 
</script> 

WebGrid 코드를보기 위해 5 분이 걸리면 앞으로 도움이 될 것이며 많은 시간을 절약 할 수 있습니다. 그것이 무엇인지, jQuery 코드로 개선 된 HTML 테이블입니다. 페이지 링크와 헤더 (정렬 용)는 모두 URL 및 Callback 매개 변수가있는 $.load() 호출입니다. 그래서 중요한 것은 올바른 div id와 콜백 함수를 찾는 것입니다.

+0

정확히 여기에 표시된대로했는데 내 눈금은 ajax를 통해 업데이트되지 않습니다. 전체 요청을 보냅니다. 내가해야 할 일이 있니? –

관련 문제