2017-02-01 2 views
0

Brauchen Sie Hilfe in folgenden Problem. Mein Problem ist, während ich die Berechtigung von angularjs zu Action MVC bekomme, funktioniert es gut, aber View leitet nicht zum anderen ActionResult um. Warum? brauchen Lösung Das ist meine Ansicht:Umleitung zu Aktion

<body ng-app="LoginModule"> 
<div id="body" ng-controller="LoginController"> 
    <div>`` 
     <div> 
      <label id="labels">User Name:</label> <input type="text" ng-model="User.UserName" /> 
      <br /> 
      <label id="labels">Password:&nbsp;</label> <input type="password" ng-model="User.UserPassword" /> 
      <br /> 
      <input id="buttons" class="btn btn-primary" value="Login" type="button" ng-click="Login()" /> 
     </div> 
    </div> 
</div> 

Dies ist mein js:

var loginModuel = angular.module("LoginModule", []) 
loginModuel.controller("LoginController", function ($scope, $http) { 
    alert("LoginController"); 
    $scope.Login = function() 
    { 
     alert("Login Function"); 
     var result = $http({ method: 'POST', url: '/Home/Login', params: { user: $scope.User } }); 
     result.success((function() { 
      window.location.href = '/Doctor/DoctorPanel'; 
     })); 
     alert($scope.User.UserName + "-" + $scope.User.UserPassword); 
    } 
}); 

und MVC Aktion ist:

[HttpPost] 
public ActionResult Login() 
{ 
    JObject json = JObject.Parse(Request["user"]); 
    string userName = (string)json["UserName"]; 
    string userPass = (string)json["UserPassword"]; 
    User u = New User(); 
    u.User_Name = "Test"; 
    u.User_Password ="ABCD"; 
    if (u.Users_Name == userName && u.Users_Password == userPass) 
    { 
     return View("WelcomUser","Home"); 
    } 
    return View("Index","Home");   
} 
+0

Wie lautet die Antwort, die Sie von Ihrem Ajax-Anruf erhalten? ist das ein 200 ok? – Shyju

Antwort

0

Sind Sie Formularauthentifizierung verwenden? An keiner Stelle in Ihrem Login setzen Sie ein Authentifizierungs-Cookie oder irgendetwas, so dass keine Anmeldeinformationen erstellt werden, die dazu führen würden, dass jede Weiterleitung einfach zum Login zurückgeht.

Plus Sie verwenden nicht den Rückgabewert von Ihrem Controller überhaupt (es HTML zurückgibt keine Umleitung), stellen Sie stattdessen die Fensterposition zu/Doctor/DoctorPanel, die ich nicht anonymen Zugriff so annimmt Sie werden zurück zum Login weitergeleitet.

0

Ist Ihr Ansichtsname korrekt bei "return View (" WelcomUser "," Home ");" , auch wenn "return View" angezeigt wird, gibt dir deine Entwickler-Tool-Konsole irgendeine Nachricht? Meine beste Vermutung ist, dass Ihr Angular-Skript den Anzeigeort nicht auflösen kann und daher fehlschlägt und dann keine anderen Ansichten laden kann.

Verwandte Themen