AngularJS路由提供程序在MVC应用程序中不工作
我正在尝试使用routeProvider将其中一个MVC控制器的MVC路由转换为角度路由。无论#、#的组合是什么!或者/我使用我没有得到工作路线 我有一个常见的html文件,我试图在其中加载ngview指令中的视图。下面是我的MainView.html。它位于MVC项目的“视图/地址”文件夹中。如routeprovider中所示,当“/”尝试加载地址/Index.html时。为了避免与MVC路由冲突,我创建了一个单独的文件夹并创建了Index.html的副本。但是,当我单击加载MainView的链接时,Index.html没有被加载。 我已尝试将base href更改为root(“/”),并将其更改为主html文件,在该文件中我将尝试加载所有其他视图在url中,它仍然没有加载Index.html。 但是,当我在routeprovider中添加一个重定向到“/”的Others时,它将正确加载所需页面AngularJS路由提供程序在MVC应用程序中不工作,angularjs,asp.net-mvc,ngroute,angularjs-ng-route,Angularjs,Asp.net Mvc,Ngroute,Angularjs Ng Route,我正在尝试使用routeProvider将其中一个MVC控制器的MVC路由转换为角度路由。无论#、#的组合是什么!或者/我使用我没有得到工作路线 我有一个常见的html文件,我试图在其中加载ngview指令中的视图。下面是我的MainView.html。它位于MVC项目的“视图/地址”文件夹中。如routeprovider中所示,当“/”尝试加载地址/Index.html时。为了避免与MVC路由冲突,我创建了一个单独的文件夹并创建了Index.html的副本。但是,当我单击加载MainView的
@{
ViewBag.Title = "View";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<div ng-app="app">
<div ng-view>
</div>
</div>
@section Scripts{
<script>
var app=angular.module('app',['ngRoute']);
app.config(function ($routeProvider,$locationProvider) {
$locationProvider.html5Mode(true);
$routeProvider
.when("/", {
templateUrl: "Experimental/Addresses/Index.html",
controller: "AddressList"
}).when("/Addresses/Index", {
templateUrl: "Experimental/Addresses/Index.html",
controller: "AddressList"
})
.when("/Addresses/Edit/:id", {
templateUrl: "Experimental/Addresses/Edit.html",
controller: "EditAddress"
})
.otherwise({
redirectTo:"/"
});
});
app.controller('AddressList', ['$scope', '$http', function ($scope, $http) {
$scope.model = [];
$http.get('/Addresses/GetAddresses').then(function (response) {
if (response != null || response != "undefined") {
$scope.model = response.data;
}
});
}]);
</script>
}
@{
ViewBag.Title=“查看”;
Layout=“~/Views/Shared/_Layout.cshtml”;
}
@节脚本{
var app=angular.module('app',['ngRoute']);
app.config(函数($routeProvider,$locationProvider){
$locationProvider.html5Mode(true);
$routeProvider
.当(“/”时{
templateUrl:“实验性/Addresses/Index.html”,
控制器:“地址列表”
}).when(“/Addresses/Index”{
templateUrl:“实验性/Addresses/Index.html”,
控制器:“地址列表”
})
.when(“/Addresses/Edit/:id”{
templateUrl:“实验性/地址/编辑.html”,
控制器:“编辑地址”
})
.否则({
重定向至:“/”
});
});
app.controller('AddressList',['$scope','$http',函数($scope,$http){
$scope.model=[];
$http.get('/Addresses/GetAddresses')。然后(函数(响应){
if(响应!=null | |响应!=“未定义”){
$scope.model=response.data;
}
});
}]);
}
@georgeawg,是的,它不起作用。假设我将Addresses/MainView作为基本的href值。然后,当我在url中键入/之后按enter键时,它会给我一个错误,即不存在这样的页面。查看代码是否在没有HTML5模式的情况下工作,即$locationProvider.html5Mode(false)代码>最初我编写配置时没有将$locationProvider.html5mode设置为true。然后我不断地改变,希望某种组合能起作用,而这一个起作用了。