成功登录Angularjs + .Razor视图页面后,重定向到主页/主页面?

时间:2015-02-06 09:36:46

标签: angularjs asp.net-mvc-4 razor

我有ASP.Net MVC5应用程序,MVC控制器和角度js控制器作为前端。我有一个登录页面,在您成功登录后,将指向主/主页(.cshtml)。我的问题是如何使用Angular js控制器重定向到Razor页面?

 //angularjs Code
  $scope.Login = function () {
    $scope.Submitted = true;
    if ($scope.IsFormValid) {
        LoginService.GetUser($scope.UserVM).then(function (d) {
            if (d.data.UserName != null) {
                $scope.IsLogedIn = true;
                $scope.Message = "Successfully login done. Welcome " + d.data.UserName;

            }
            else {
                alert('Invalid Credential!');
            }

        });
    }
};

   // _Layout.cshtml (Main Page i want to redirect to after successful Login)

1 个答案:

答案 0 :(得分:0)

您需要做的是根据用户是否登录来呈现不同的部分内容。因此,一种可能的解决方案是利用@RenderPage

@if(!isLoggedIn)
{
    @RenderPage("~/views/login.cshtml");
}
else
{
    <div ng-controller="mainController">
         ....
    </div>
}

这样,当用户登录时,您只需要刷新当前页面,而您的剃刀引擎将生成新的部分而不是login.cshtml