Angular-ASPnet - 路由失败
Angular-ASPnet - Routing Failed
身份验证后,我需要访问我的主页。
我的控制器 Angular:
$window.location.href = 'Home/Index';
并到达我的索引页面,我得到以下错误:
我不明白这个错误我的 URL 是正确的。
谢谢
更多详情:
我有一个登录页面(RouteConfig.cs) :
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Login", action = "Authentification", id = UrlParameter.Optional }
通过身份验证后,我必须转到应用程序的主页面,其中包含几页内容,主页面和登录页面是不同的模块。这是转到我的主页的脚本:
而在我的主页中,首先应该显示的是主页,根据下面的脚本:
$routeProvider.otherwise(
{
redirectTo: '/HomePage'
});
我的问题是我可以看到我的主页,但看不到内容页面 HomePage”。(错误 404 加载模板失败)
但是如果我改变 RouteConfig.cs ,就可以了:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
我的问题是从我的登录页面到我的主页的通道。
ASP 控制器一切正常
配置 $rootProvider :
var MainApp = angular.module("MainApp",
[
"ngRoute",
"GlobalParamServices",
"HomePageApp",
"ListCollaborateurApp",
"CollaborateurServices",
"ShowEditCollaborateurApp",
"AddNewCollaborateurApp",
"ListRoleApp",
"ShowEditRoleApp",
"AddNewRoleApp"
]);
//Showing Routing
MainApp.config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) {
debugger;
//Main
$routeProvider.otherwise(
{
redirectTo: '/HomePage'
});
$routeProvider.when('/HomePage',
{
templateUrl: 'Home/HomePage',
controller: 'HomePageController'
});
//Collaborateur
$routeProvider.when('/ListCollaborateur',
{
templateUrl: 'Collaborateur/ListCollaborateur',
controller: 'ListCollaborateurController'
});
$routeProvider.when('/AddNewCollaborateur',
{
templateUrl: 'Collaborateur/AddNewCollaborateur',
controller: 'AddNewCollaborateurController'
});
$routeProvider.when('/ShowEditCollaborateur',
{
templateUrl: 'Collaborateur/ShowEditCollaborateur',
controller: 'ShowEditCollaborateurController'
});
//Role
$routeProvider.when('/ListRole',
{
templateUrl: 'Role/ListRole',
controller: 'ListRoleController'
});
$routeProvider.when('/AddNewRole',
{
templateUrl: 'Role/AddNewRole',
controller: 'AddNewRoleController'
});
$routeProvider.when('/ShowEditRole',
{
templateUrl: 'Role/ShowEditRole',
controller: 'ShowEditRoleController'
});
//$locationProvider.html5Mode(true).hashPrefix('!')
}]);
你有办法解决这个问题吗?
谢谢,
Angular 抱怨无法从服务器加载模板。您需要在主页的 HomeController 中添加操作,以便 ASP.NET MVC 到 return 视图。
public class HomeController : Controller
{
public ActionResult HomePage()
{
return View();
}
}
身份验证后,我需要访问我的主页。 我的控制器 Angular:
$window.location.href = 'Home/Index';
并到达我的索引页面,我得到以下错误:
我不明白这个错误我的 URL 是正确的。 谢谢 更多详情:
我有一个登录页面(RouteConfig.cs) :
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Login", action = "Authentification", id = UrlParameter.Optional }
通过身份验证后,我必须转到应用程序的主页面,其中包含几页内容,主页面和登录页面是不同的模块。这是转到我的主页的脚本: 而在我的主页中,首先应该显示的是主页,根据下面的脚本:
$routeProvider.otherwise(
{
redirectTo: '/HomePage'
});
我的问题是我可以看到我的主页,但看不到内容页面 HomePage”。(错误 404 加载模板失败)
但是如果我改变 RouteConfig.cs ,就可以了:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
我的问题是从我的登录页面到我的主页的通道。 ASP 控制器一切正常
配置 $rootProvider :
var MainApp = angular.module("MainApp",
[
"ngRoute",
"GlobalParamServices",
"HomePageApp",
"ListCollaborateurApp",
"CollaborateurServices",
"ShowEditCollaborateurApp",
"AddNewCollaborateurApp",
"ListRoleApp",
"ShowEditRoleApp",
"AddNewRoleApp"
]);
//Showing Routing
MainApp.config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) {
debugger;
//Main
$routeProvider.otherwise(
{
redirectTo: '/HomePage'
});
$routeProvider.when('/HomePage',
{
templateUrl: 'Home/HomePage',
controller: 'HomePageController'
});
//Collaborateur
$routeProvider.when('/ListCollaborateur',
{
templateUrl: 'Collaborateur/ListCollaborateur',
controller: 'ListCollaborateurController'
});
$routeProvider.when('/AddNewCollaborateur',
{
templateUrl: 'Collaborateur/AddNewCollaborateur',
controller: 'AddNewCollaborateurController'
});
$routeProvider.when('/ShowEditCollaborateur',
{
templateUrl: 'Collaborateur/ShowEditCollaborateur',
controller: 'ShowEditCollaborateurController'
});
//Role
$routeProvider.when('/ListRole',
{
templateUrl: 'Role/ListRole',
controller: 'ListRoleController'
});
$routeProvider.when('/AddNewRole',
{
templateUrl: 'Role/AddNewRole',
controller: 'AddNewRoleController'
});
$routeProvider.when('/ShowEditRole',
{
templateUrl: 'Role/ShowEditRole',
controller: 'ShowEditRoleController'
});
//$locationProvider.html5Mode(true).hashPrefix('!')
}]);
你有办法解决这个问题吗? 谢谢,
Angular 抱怨无法从服务器加载模板。您需要在主页的 HomeController 中添加操作,以便 ASP.NET MVC 到 return 视图。
public class HomeController : Controller
{
public ActionResult HomePage()
{
return View();
}
}