2011-05-14 2 views
0

세션간에 여러 페이지 사용자 양식의 데이터를 저장하는 가장 좋은 방법에 대한 제안을 찾고 있습니다. 나는 C# 3.5 및 SQL 서버 2008을 사용 중입니다sesisons간에 사용자 양식 데이터 저장

양식이 현재 전체 양식을 작성해야하는 상태이므로 양식과 데이터를 저장하고 다시 시작할 수 있도록 변경하고 싶습니다. 제안, 모범 사례 등을 찾고 있습니다.

+1

어떤 언어/플랫폼입니까? – Oded

+0

죄송합니다, C# 3.5 및 SQL 2008 –

+0

WebForms를 사용하고 있습니까? Winforms? MVC? WPF? – Oded

답변

0

웹 응용 프로그램이라고 가정하면 데이터베이스에 필드를 저장해야합니다. 폼의 각 페이지에는 현재 볼 수있는 필드를 가져 와서 데이터베이스에 저장하는 "저장"버튼이 있습니다. 또한 "다음 페이지"버튼이 있습니다. 마지막 페이지에서 '제출'버튼을 포함하십시오. 클릭하면 양식 데이터베이스의 모든 입력란이 검색되어 데이터베이스의 새 표에 새 항목이 작성됩니다 (예 : CompletedFormTable)

또 하나해야합니다. 데이터베이스의 양식 데이터를 식별 할 수 있도록 각 페이지에 양식의 ID를 포함시켜야합니다. 이 작업에는 몇 가지 방법이 있습니다.

  1. 사용자의 브라우저에 세션 쿠키를 추가하십시오. 양식 데이터를 가져올 위치를 식별하기 위해 양식 테이블에 "세션 쿠키"필드를 포함하십시오.
  2. 데이터베이스에있는 항목의 "id"를 참조하는 양식에 숨겨진 필드를 포함하십시오.
  3. 브라우저 (json 개체)에 모든 것을 저장하고 아약스를 사용하여 페이지를 다시로드 할 필요가 없습니다. 테이블에 모든 것을 입력하는 대신 json 객체를 업데이트하면됩니다. 제출시 json 객체를 서버로 보내면 서버에 저장을위한 항목이 만들어집니다.
+0

또한 사용자가 반환하지 않을 경우를 대비하여 만료 된 양식 데이터를 지우는 코드를 추가해야 할 수도 있습니다. –

+0

"다음"버튼을 눌러 DB에 저장할 수도 있습니다. – Marthin

+0

이것이 좋은 시작처럼 보였습니다. 비록 JSON에 좀 더 익숙해 져야 할 필요가 있었지만, 이것이 단일 페이지 형식이라면 데이터베이스에 대한 viewstate를 저장하고 검색하는 것이 내가하려는 일을 성취하게 될 것이라고 생각하십니까? –