2012-06-20 4 views
0

간단한 AJAX 요청을 사용하여 컨트롤러에서 새로운 검색 결과를 얻는 검색 페이지가 있습니다.부분보기로 ASP.NET MVC ajax 페이지 매김

컨트롤러는 결과를 렌더링 된 html로 반환하므로 모든 클라이언트 스크립트가 수행해야하는 결과는 $ ('# results')입니다 .html (data);

html에는 페이지가 매겨진 링크가 포함되어 있습니다.

아약스 성공 이벤트 핸들러 내부의 페이지 번호가 매겨진 링크에 클릭 핸들러를 추가하고 싶지만 A 텍스트 속성에서 페이지 번호를 가져 오는 것이 좋지 않습니다. 가상 링크에서 " ","Page 2 "그리고 나서 텍스트를 파싱합니다.

내가 잘못 했나요?

부분 뷰 내부에서 아약스 링크를 생성해야합니까?

+0

어떤 mvc보기 엔진을 사용하십니까? –

+0

면도기가 뷰 엔진입니까? – NoPyGod

+1

코드 목록을 작성하고 구체적인 질문을하십시오. –

답변

1

페이지 번호는 a 요소의 경우 데이터으로 저장할 수 있습니다. 해당 데이터을 이벤트 처리기 연결에 참조 할 수 있습니다. 전통적으로 - 즉 나의 오래된 응용 프로그램에서 -이처럼 할 것 :

<a href="#" name="myLink" data="<%: [pageNumber] %>"> 
    Page <%: [pageNumber] %> 
</a> 

그런 다음 JQuery와 측면 (즉, 아약스 콜백)에 :

$('a[name=myLink]').click(function (e) { 
    e.preventDefault(); 
    var pageNumber = $(this).attr('data'); 
    // do what you have to do with the pageNumber 
}); 

하지만 당신은 (그리고해야한다) 참조 할 수 jQuery data function에 이 길로 내려가려면

+0

이것은 내가 고려한 접근법 중 하나입니다. 어려운 것은 PagedList.MVC가 링크의 사용자 지정 특성을 지원하지 않는다는 것입니다. – NoPyGod

+0

"이전 응용 프로그램에서"라고 말합니다. 대안이있어? – NoPyGod

+0

만약 내가 이전 응용 프로그램을 다시 작성한다면 위에서 언급 한'$ .data()'함수를 사용할 것입니다. 물론 렌더링 된 html을 완전히 제어한다고 가정하십시오. 나는 당신이 PagedList.MVC 라이브러리를 사용하고 있다는 것을 몰랐다. 솔직히 나는 그것에 익숙하지 않다. 그러나 https : //github.com/TroyGoode/PagedList 문서를 기반으로 수동 조정을 할 수도 있습니다. –