많은 정보를 수집하기 위해 일련의보기를 만드는 중입니다. 나는 질문을 유형별로 정리 한 여러 페이지에 걸쳐이 정보를 나누었 기 때문에 세트를 말합니다. 사용자가 원하는대로 데이터를 남기고 추가, 제거 및 업데이트 할 수 있기를 원하지만 변경 사항을 취소 할 수 있어야합니다. 충분히 단순 해 보입니다.ASP.NET - 여러 페이지에서 저장되지 않은 모델 상태 유지하기
그러나 코드 관점에서이를 개념화하면 문제가 발생합니다.
처음에는 여러 페이지에 걸쳐 모델을 보존하려고했습니다. 따라서 나는 그들이 가지고있는 단계에 따라 다른 뷰로 리다이렉트하고 컨트롤러가 구할 때까지 모델을 전달하는 컨트롤러를 갖게 될 것입니다. 그러나 숨겨진 필드에서 현재 작업하지 않는 모든 정보를 저장하지 않으면 내가보기에서 돌아와 다음 단계로 이동하는 모델이 절반 비어 있습니다.
그런 다음 세션 변수 작업을 고려했습니다. 세션 변수를 지우기 위해 취소 버튼을 클릭하지 않고 "뒤로"버튼을 누르거나 "워크 플로우"를 남겨두면 사용자가 동일한 객체를 다시 열어서 변경 사항이 그대로 남아있을 수 있다고 생각했습니다.
나는 이것을하는 우아한 방법을 정말로 보지 못합니다. 이 ASP.NET \ MVC 경험 부족 내 가정합니다.
이것은 세션 사용에 적합한 후보로 들립니다. 너무 오래 살아있는 데이터에 대해 걱정할 경우 세션 길이를 더 낮게 설정할 수 있습니다. –
우리도 비슷한 프로젝트를했다. 데이터를 데이터베이스 테이블에 저장했습니다. 사용자가 최종 제출을 누르면 해당 테이블로 이동하고 스테이징 테이블의 데이터가 삭제됩니다. 전에 세션을 사용했습니다. 그러나 사용자 수가 늘어남에 따라 성능 문제가있었습니다. –