En complément de la réponse @Ankur, j'inclus le code MVC et Angular JS pour obtenir le comportement requis.
AccountController.cs
[HttpGet]
[Route("login")]
public ActionResult Login(string returnUrl)
{
if (Request.IsAuthenticated)
return RedirectToAction("Home", "Dashboard");
return View(new AccountLoginModel() { ReturnUrl = returnUrl });
}
[HttpGet]
public ActionResult Login()
{
if (Request.IsAuthenticated)
return RedirectToAction("Home", "Dashboard");
return View(new AccountLoginModel() { ReturnUrl = string.Empty });
}
Login.chtml
<div data-ng-controller="AccountLoginViewModel" ng-init="returnUrl = '@Model.ReturnUrl'" class="centered">
... HTML code here
<button type="button" class="btn" ng-click="login()">Login</button>
</div>
AccountLoginViewModel.js
$scope.login = function() {
viewModelHelper.apiPost('api/account/login', $scope.accountModel,
function (result) {
if ($scope.returnUrl != '' && $scope.returnUrl.length > 1) {
window.location.href = rootPath + $scope.returnUrl.substring(1);
}
else {
window.location.href = rootPath + "dashboard/home";
}
});
}
}
Bienvenue à StackOverflow s'il vous plaît jeter un oeil à http://stackoverflow.com/help/comment demander sur la façon de poser des questions. Il est peu probable que vous obteniez une bonne réponse à cette question. – gsharp
Je viens de réinitialiser votre réputation, s'il vous plaît prendre le temps d'améliorer votre question (manque principalement d'informations montrant votre effort). –