2014-12-31 3 views
1

내 MVC4 시나리오 : 후속 조사 페이지가있는 문의 양식이 있습니다. 사이트의 각 페이지에는 페이지를 새로 고치고 쿼리 문자열 매개 변수를 다시 같은 페이지로 전달하고 CurrentCulture를 변경하고 적절한 리소스 파일에서 텍스트를 가져 오는 "언어 변경"옵션이 있습니다.페이지를 새로 고치는 동안 개체 데이터를 유지하십시오.

사용자가 문의 양식을 제출하면 설문 조사 페이지로 이동합니다. 확실한 보안상의 이유 때문에 문의 ID를 설문 조사 페이지에 보내지 않을 것입니다. 내가하고있는 일은 컨트롤러 메서드에서 연락처 양식 제출시 TempData [ "ContactId"] 개체 값을 설정하고 측량 컨트롤러 메서드가 해당 개체에서 읽을 수있게하는 것입니다.

문제는 사용자가 제출 후 설문 조사 페이지에있는 다음 언어를 변경하도록 선택한 경우입니다. 이로 인해 페이지가 새로 고쳐지고 TempData 개체가 null이됩니다.

이와 같은 페이지 새로 고침 중에 ContactId를 유지하는 방법에 대한 조언이 있으십니까?

+0

'TempData'는 [단일 요청을 통해서만 유지됩니다.] (http://forums.asp.net/post/3692191.aspx)이므로 세션 변수에 언어 데이터를 저장할 수는 있습니다. – alex

+0

세션이 완벽하게 작동합니다. 감사합니다. – TexasT

+0

굉장합니다. 이게 전부 당신이 필요하고 그것이 당신을 위해 작동한다면, 나는 앞서 가서 대답으로 내 의견을 올렸다. – alex

답변

0

저는 TempData가 단일 요청을 통해서만 지속되므로 세션 변수에 언어 데이터를 저장할 수 있다고 생각합니다.

0

세션과 TempData는 같은 것입니다.

그러나 TempData는 세션 메모리에서 개체를 한 번 액세스 한 후에 자동으로 제거되므로 사용해야합니다.

관련 문제