ASP.NET MVC 2를 사용하여 간단한 비즈니스 응용 프로그램을 작성하고 있습니다. 여기에 세부 사항 중 일부입니다 : 작업 지시와ASP.NET MVC에서 컨트롤 상태를 잃지 않도록하는 방법
응용 상품과 은 작업 순서 인덱스 뷰를 가지고있다. 보기에는 작업 주문을 나열하는 테이블과 몇 가지 컨트롤 (텍스트 상자, 확인란 및 목록 드롭 다운)이 표시되어 작업 지시가 표시되는 에 대한 기준을 선택합니다.
저는 viewmodels를 사용하고 있습니다. 작업 순서 색인보기에는 각 제어마다 속성이있는보기 모델이 있습니다.
- 내가 에 대한 답변이 질문 수행되고 있는지 과 유사한 페이징 구현했습니다
: How do I do pagination in ASP.NET MVC? 내가 LINQ의 건너 뛰기 (사용하고 있습니다)을 시연 로) (가지고, 그리고 탐색을위한 ActionLinks . 내가 페이지를로드 가 컨트롤 중 하나를 조작하지 않으면
, 나는 페이지 수에 클릭 을 ActionLinks 및 작업 지시의 잘 사이의 페이지를 이동할 수 있습니다. 그러나 내가 을 변경하면 다른 페이지로 이동할 때 내 변경 사항이 없어져 입니다.
예를 들어, 내가 페이지 1 에있어 경우에 체크되지 않은 체크 박스를 클릭 한 은 결과의 두 번째 페이지가 로드 2 페이지, 에 대한 링크를 클릭하지만 확인란으로 되돌아갑니다 그 이전 상태입니다.
나는 왜 이런 일이 일어나는 지 이해하지만 디자인의 관점에서 무엇을 할 수 있는지 궁금합니다. 내가 생각할 수있는
잠재적 인 솔루션 :
은 ActionLinks에 경로로 값을 모두 제어 값을 설정합니다. 이 은 매우 불쾌한 것처럼 보이며 매우 긴 URL이나 쿼리 문자열에서 이 될 수 있습니다.사실, 이제는 컨트롤 값을 캡처하는 방법이 없다면 작동하지 않을 것이라고 생각했습니다.ActionLinks가 을 게시하지 않으므로 버튼으로 교체하십시오. 다시 말하지만, 이것은 나쁜 생각처럼 보입니다.
이 POST 인 jQuery 스크립트를 실행하는 링크로 ActionLink를 변경하십시오. 나는 이것이 지금까지 가장 유익한 옵션 인 이라고 생각한다. 많은 개발자가 이렇게합니까?
이것은 일반적인 문제처럼 보입니다.하지만이 옵션 중 어느 것도 괜찮은 것 같지 않습니다. 내가 뭔가를 놓치고 있는지 궁금해.사용자가 (jQuery를 사용) 확인란을 전환 할 때
아니요, 내 컨트롤의 상태를 데이터베이스에 저장하고 싶지 않습니다. 그것은 비효율적 일 것입니다. 그러나 나는 결국 jQuery를 사용했다. –