2009-04-18 7 views
0

ASP.NET MVC에서 학습 프로젝트를 작성 중입니다. 나는 사용자 책을 보여주는 페이지 "Books"를 가지고 있으며,이 페이지에는 몇 가지 정렬 및 필터링 옵션이 있습니다.ASP.NET MVC 페이지 설정 저장


예약 페이지

정렬 매개 변수 : 제목, 연도, 저자 ... 필터링 매개 변수 : 읽지 않은 읽기, ...


사용자가 "제목 같은 정렬 매개 변수를 선택 "컨트롤러는 제목별로 책을 정렬하고보기로 돌아갑니다. 사용자가"읽기 "필터를 선택하면 나열된 책을"제목 "으로 정렬하고"읽기 "매개 변수로 필터링합니다.

내가 아는 한, 정렬 및 필터 매개 변수를 저장해야합니다 this.I 확실하지 않은 이유는 무엇 때문에 가장 쉽고 쉬운 방법에 대한 세션, HttpContext, Tempdata 개념 ASP.NET에 대한 혼란 MVC. 고전 ASP.NET Webforms 세션 방식을 사용하여이 작업을 수행 할 수 있지만 일부 사람들은 세션을 사용하면 문제가 발생할 수 있다고 말합니다. 대안은 무엇이며 가장 쉽고 쉬운 방법은 무엇입니까?

답변

0

사용자가 사이트를 탐색하여 페이지로 돌아올 때 선택 항목을 유지할지 여부에 따라 달라집니다. 지속성이 필요하다면 세션에 선택 사항을 저장하는 것이 합당한 방법입니다. 해당 특정 페이지에 대한 선택 사항 만있는 경우에는 선택 사항을 ViewData에 넣고 뷰의 선택 사항을 ViewData (또는 Model)의 값으로 구동 할 수 있습니다. 이렇게하면 모든 왕복 여행에 대한 선택은 페이지가 브라우저로 반환 될 때 올바른 기본값이됩니다.

개인적인 감각은 전체 세션에서 선택 사항을 유지해야하며 세션에 내 값을 저장합니다.

0

MVC 프레임 워크에는 몇 가지 훌륭한 옵션이 있습니다. 하나는 정보를 저장하는 양식에 숨겨진 입력을가집니다. 따라서 리조트 버튼을 누르면 해당 필드가 정렬 순서를 결정합니다.

두 번째로 더 좋은 방법은 버튼과 관련된 값을 갖는 것입니다. 제목을 누르는 경우 제목별로 정렬합니다. 작성자를 클릭하면 작성자별로 정렬됩니다. 컨트롤러가이를 감지 할 수 있습니다.

마지막으로 자동으로이 모든 작업을 수행 할 수있는 우수한 자바 스크립트 컨트롤이 있습니다. 마음에 떠오르는 것은 절대적으로 훌륭한 EXT Grid 컨트롤입니다. 그것은 자바 스크립트와 함께 몇 가지 작업을하지만 그만한 가치가 있습니다! 희망이 도움이