【发布时间】:2016-11-21 02:21:58
【问题描述】:
我经历了启动新的 ASP.NET MVC 无用户身份验证过程的过程,并且已经开始将 AngularJS 与 C# 代码集成。
我的_ViewStart.cshtml 使用_Layout.cshtml 到@RenderBody() 用于在“视图”->“主页”下找到的每个视图。我有两个观点,Index.cshtml 和 SignUp.cshtml。
在索引部分视图中,我有一个表单,它的动作由这个 AngularJS 函数控制:
.controller('LoginController', function ($scope, $location, LoginService) {
$scope.LoginData = {
CID: '',
Email: ''
};
$scope.Login = function ($window) {
$scope.Submitted = true;
if ($scope.IsFormValid) {
LoginService.GetUser($scope.LoginData).then(function (d) {
if (d.data.CID != null) {
loginCID = d.data.CID;
loginEmail = d.data.Email;
$scope.Message = "Successfully logged in. Welcome " + d.data.CID;
$location.path("/Home/SignUp");
}
else {
alert("Invalid Creds");
}
});
}
};
})
我已经省略了包含此问题并非完全必要的任何额外代码,因此已排除了额外的变量/工厂/服务。除了这一行之外,代码都可以工作:
$location.path("/Home/SignUp");
填写完表单后,$scope.Message 将更改为 if 语句中的内容,并且 URL 从 http://localhost:61660/ 更改为 http://localhost:61660/Home/SignUp 但仍显示 Index 的部分视图。意思是,我仍然看到Index.cshtml 呈现在正文中,而不是SignUp.cshtml。如何将其更改为实际重定向?
【问题讨论】:
标签: c# asp.net angularjs asp.net-mvc asp.net-mvc-4