2012-04-12 4 views
0

ASP.NET MVC3 애플리케이션 일부 기능을 대체하는 기본 컨트롤러가 있습니다. 그리고 나는 그것으로부터 모든 컨트롤러를 파생시킵니다. 기본 컨트롤러MVC3 ajax 호출 후 새 페이지로 리디렉션

나는 몇 가지 물건을 확인하고 true 또는 false를 반환하기 위해 OnAuthorization 이벤트 핸들러를 무시하고에서

. 결과가 true이면 홈 페이지로 리디렉션하려고합니다.

protected override void OnAuthorization(AuthorizationContext filterContext) 
{ 
    if(CheckValues()) 
    { 
     RedirectToHomePage(); 
    } 

} 

public ActionResult RedirectToHomePage() 
{ 
    return RedirectToAction("Index", "Home"); 
} 

리디렉션은 정상 동작 호출에서 작동합니다.

그러나 AJAX CALL이있는 경우 홈 페이지는 새 페이지가 아닌 페이지의 DIV 안에로드됩니다.

AJAX 호출이있을 때 전체 페이지를 강제로 다시로드하고 홈페이지로 리디렉션 할 수있는 방법이 있습니까?

Redirect("~/")을 루트 URL로 리디렉션하려고했지만 동일한 문제가 발생했습니다. 페이지가 전체 페이지가 아닌 DIV 안에로드됩니다.

희망이 분명했습니다. 어떤 도움을 주셔서 감사합니다

답변

1

AJAX 통화를 어떻게하니? jQuery AJAX를 사용하는 경우에는 on 성공을 사용하여 페이지를 리디렉션 할 수 있습니다.

$.ajax({ 
    url: 'ajax/test.html', 
    success: function() { 
     window.location = "/"; 
    } 
}); 
2

당신은 당신의 C# (서버 측)이 아니라 AJAX 콜백 메소드 (자바 스크립트 클라이언트 측)에서 이것을 할 필요가 있습니다.

관련 문제