대형 모델을 사용하는 앱이 있습니다. 모든 데이터를 수집하려면 5 개의보기 페이지가 필요합니다. 보기 페이지간에 세션을 유지하고 있습니다. 때로는 세션이 프로세스 중간에 비활성 후 종료됩니다. 이 경우 사용자를 홈 페이지로 다시 푸시하려고합니다.모델에서 작업으로 리디렉션하는 방법
private MemberRegistration MemberRegistration {
get {
if (HttpContext.Current.Session["RegisterModel_MemberRegistration"] == null)
{
return null;
>>>> I want to go back the home page here <<<<
}
return (MemberRegistration)HttpContext.Current.Session["RegisterModel_MemberRegistration"];
}
set {
HttpContext.Current.Session["RegisterModel_MemberRegistration"] = value;
}
}
public string FirstName {
get {
return MemberRegistration.FirstName;
}
set {
MemberRegistration.FirstName = value;
}
}
내 문제는 이것이다 : 여기
내 모델의 일부입니다. 모델 바인딩은 사용자가 "다음"버튼을 클릭 할 때 시작됩니다. 모델 바인딩은 [HTTPPost] 컨트롤러 동작 이전에 발생합니다. 세션이 만료되면 "return null"행에 도달했습니다. 나는 그때 바로 홈페이지로 사용자를 보내고 싶다.
두 번째 질문 - 세션을 사용하는 것보다 더 좋은 방법이 있습니까? (부분적으로 데이터베이스에 등록하는 것을 제안하지 마라. 나는 데이터베이스에 부분적으로 기록하는 것에서 발생하는 문제보다 세션에서 유지하는 데 문제가 있다고 생각한다.)
감사합니다. 흠뻑!
당신은 그렇지 않습니다. 그것은 컨트롤러에게 의미있는 것을 돌려 주어야합니다. – asawyer
Session 대신 사용할 수 있습니다. 부분 등록은 데이터베이스에 보관하십시오. –
컨트롤러에 연결하지 못했습니다. MemberRegistration을 사용할 수 없기 때문에 MemberRegistion.FirstName을 사용할 수 없을 때 바인딩이 FirstName에 대한 가져 오기/설정에 도달 할 때 프로그램 오류가 발생합니다. 계속 바인딩 프로세스를 중지해야합니다 ... – Cary