我有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)
答案 0 :(得分:0)
您需要做的是根据用户是否登录来呈现不同的部分内容。因此,一种可能的解决方案是利用@RenderPage
@if(!isLoggedIn)
{
@RenderPage("~/views/login.cshtml");
}
else
{
<div ng-controller="mainController">
....
</div>
}
这样,当用户登录时,您只需要刷新当前页面,而您的剃刀引擎将生成新的部分而不是login.cshtml
。