在ASP.NET MVC应用程序中,如果Angular.js视图路由不起作用,可能有以下几个原因和解决方法:
var app = angular.module('myApp', ['ngRoute']);
app.config(function($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'views/home.html',
controller: 'HomeController'
})
.when('/about', {
templateUrl: 'views/about.html',
controller: 'AboutController'
})
.otherwise({
redirectTo: '/'
});
});
在这个例子中,配置了两个路由:'/'和'/about',分别对应了'views/home.html'和'views/about.html'视图,并指定了对应的控制器。
Views
文件夹下的Home
文件夹中的Index.cshtml
文件,可以通过以下方式引用:.when('/', {
templateUrl: '/Home/Index',
controller: 'HomeController'
})
RouteConfig.cs
文件中,可以配置路由规则。例如:routes.MapRoute(
name: "Default",
url: "{*url}",
defaults: new { controller = "Home", action = "Index" }
);
在这个例子中,将所有请求都重定向到Home
控制器的Index
动作,以便Angular.js路由能够正确处理。
通过检查以上几个方面,可以解决ASP.NET MVC应用程序中Angular.js视图路由不起作用的问题。