2013-10-27 4 views
0

MVC에 약간 익숙합니다. 내가 원하는 것은 성공적인 로그인 후에 사용자를 Dashboard/Index 컨트롤러 작업으로 리디렉션하는 것입니다. 그렇게하기에 좋은 장소 또는 기술은 무엇입니까? 아약스 성공 이벤트 또는 로그인 컨트롤러에서?로그인 성공 후 컨트롤러로 리디렉션

로그인 양식 -

<form action="/Home/Login" id="loginForm" > 
    // other markups 
</form> 

은이 양식은

 <script type="text/javascript"> 
     $(document).ready(function() { 
      $('#loginForm').submit(function (event) { 
       event.preventDefault(); 
       var data = $(this).serialize(); 
       var url = $(this).attr('action'); 
       $.post(url, data, function (response) { 
        //redirect from here? 
       }); 
      }); 
     }); 
    </script> 

JQuery와 아약스 당신은 폼 C 번호를 리디렉션 할 수 없습니다

[HttpPost] 
    public ActionResult Login(string username, string password) 
    { 
      //Login successfull. 
      //Redirect from here ?? 
    } 

답변

1

컨트롤러 방법을 호출 재활용 가능한 Ajax JQuery와 통해 sumitting한다 코드를 비동기라고 부릅니다. 당신은 JQuery와에서 성공 로그인 후 리디렉션해야한다 : 당신이 제출 아약스를 사용하는 경우, 서버 컨트롤러가 리디렉션 여부를 determmine하는 $.post 콜백 구문 분석하는 상태 응답을 반환해야합니다

window.location.href = "http://site/controller/action"; 
1

및 리디렉션을 수행하려면 window.location javascript 개체를 사용하십시오.

0

컨트롤러에서 인증/권한 부여가 실행되고 코드가 성공 또는 실패로 실행되면 다음보기/컨트롤러로 이동하려고합니다. 이것은 의도 된 기능의 경우, 나는 RedirectToAction 방법을 제안하고 RedirectToAction의

더 많은 문서가 Controller.RedirectToAction Method

+0

이 허용 대답을 참조 여기에서 찾을 수 있습니다 원하는 페이지로 이동합니다. –

+0

게시 방법의 성공 이벤트가 오기 전에 서버 측에서 내가 제안한 내용이 발생했습니다. – Matt

관련 문제