2009-12-09 3 views
1

일부 간단한 페이징을 구현하려고합니다. How do I do pagination in ASP.NET MVC?asp.net mvc : 페이징 - ActionLinks의 이전/다음 페이지 값 설정?

페이징이 정상적으로 작동합니다. 그러나

, 지금 이전 및 다음 링크를 만들려고 해요,하지만 PARAMS에 액세스하는 방법을 알아낼 수 없습니다 :

내 경로는 다음과 같습니다

routes.MapRoute(
     "Name", 
     "Controller/ActionName/{pageID}", 
     new { controller = "Controller", action = "ActionName" , pageID = 0 }, 
     new { pageID = @"\d*"} 
    ); 

그리고 내 옆에있는 링크를 보이는 같은 :

<%=Html.ActionLink("next page", "ActionName", "Controller", new {pageID = pageID + 1 }, null) %> 

내가 오류는 다음과 같습니다

Compiler Error Message: CS0103: The name 'pageID' does not exist in the current context 

이전/다음 링크를 만들려면 어떻게해야합니까 (이 경우에는 다음 링크 만)? 이 방법으로 페이지 id를 참조 할 경우

답변

1

오류가

new {pageID = pageID + 1 }, ... 

의 두 번째 페이지 id에 발생, 당신은 당신의 모델의 일부로에 통과해야합니다.

NerdDinner 8 단계 : 페이징 지원
http://nerddinnerbook.s3.amazonaws.com/Part8.htm

+0

는 강력한 형식의보기를 사용하여이 방법을 사용하는 것은 여전히 ​​가능

은 다음 튜토리얼에서보세요? 'System.Collections.Generic.IEnumerable '에 'HasPreviousPage'에 대한 정의가 없다는 오류가 발생합니다. – chris

+0

NerdDinner가 사용중인 모델을 자세히 살펴보십시오. 거기에 하나 이상의 개체가 있습니다. –

+0

그래서 내려 오는 것은 내가하고 싶은 일을 할 수 없다는 것입니다. ViewData 사용에 대한 실질적인 문제는 없지만 경로 변수에 액세스하는 간단한 방법이 있었으면합니다. 감사. – chris