2013-03-25 3 views
2

여기 내 상황이 좀 이상 할 수 있습니다 : 나는 admin으로 로그인하고 양식이있는 일부 페이지로 이동 한 다음 인증이 실패합니다 (예를 들어, 너무 오래 떠나지 만 페이지를 닫지 않거나 연결을 끊는 경우). 네트워크 및 나중에 연결), 내가 다시 양식을 게시하면 로그인 페이지로 이동합니다. 로그인 페이지는 returnUrl이되고 이전 페이지로 리디렉션 될 수 있지만 은 모든 양식 데이터가 이제 지워집니다. 최종 결과는 응용 프로그램 오류 페이지입니다.asp.net mvc에서 양식 데이터로 리디렉션하는 방법은 무엇입니까?

로그인의 리디렉션 섹션은 다음과 같습니다

그래서
if (Membership.ValidateUser(userName, password)) 
    { 
     if (!String.IsNullOrEmpty(returnUrl)) 
      return this.Redirect(303, returnUrl); 
     else 
      return this.Redirect(303, FormsAuthentication.DefaultUrl); 
    } 

, 내가 양식 데이터를 리디렉션 할 수있는 방법 (많은 페이지가 인증을 필요로하기 때문에, 양식 데이터는 행동의 조치에 따라 다를 수 있음)?

답변

2

양식 데이터로 리디렉션 할 수 없습니다. 리디렉션 할 때 GET 요청을 사용하고 있습니다. 양식 데이터는 POST 요청 본문에만 포함됩니다. 물론 모든 양식 데이터 키와 값을 반복하여 쿼리 문자열 매개 변수로 대상 URL에 추가 할 수 있지만 브라우저간에 다를 수있는 쿼리 문자열의 길이에는 제한이 있다는 것을 잊지 마십시오.

관련 문제