【发布时间】:2015-09-11 19:55:17
【问题描述】:
我创建了一个 MVC 应用程序并添加了一个 Angularjs nuget。 它是为它创建 HomeController 和视图的。 家庭控制根本没有改变。 我的文件夹层次结构:
Index.cshtml:
<!DOCTYPE html>
<html>
<head>
<script src="~/Scripts/angular.js"></script>
<script src="~/Scripts/angular-route.js"></script>
<script src="~/Scripts/App/App.js"></script>
<title>Title</title>
</head>
<body ng-app="sampleApp">
<a href="#/route1">Route 1</a><br />
<a href="#/route2">Route 2</a><br />
<div ng-view></div>
<script>
var module = angular.module("sampleApp", ['ngRoute']);
module.config(
function ($routeProvider, $locationProvider) {
$routeProvider.
when('/route1', {
templateUrl: 'Views/Home.html',
controller: 'RouteController'
}).
when('/route2', {
templateUrl: 'Views/Home.html',
controller: 'RouteController'
}).
otherwise({
redirectTo: '/'
});
});
module.controller("RouteController", function ($scope) {
alert("I am here");
})
</script>
</body>
</html>
单击链接会产生 404 错误
http://localhost:50265/Home/Views/Home.html - 这是生成的链接。
我不明白为什么在链接中插入了 Home。
正如错误页面所说,它期望物理路径
E:\SoftServe\IndividualTask\IndividualTask\Home\Views\Home.html
但我在根文件夹E:\SoftServe\IndividualTask\IndividualTask 中没有 Home 文件夹
我将路由设置为“Views/Home.html”,但没有设置为“Home/Views/Home.html”。
路由的基本路径是什么?如何让它发挥作用?
【问题讨论】:
-
MVC 不允许访问视图文件夹中的文件。您需要通过在 web.config 中定义处理程序来操作该东西。
标签: angularjs asp.net-mvc