【发布时间】:2015-10-19 13:38:06
【问题描述】:
我正在使用 angularjs 在 .net mvc 中开发应用程序。当我不使用 html5 模式时,它可以正常工作,但是当我将 html5 模式设置为 true 时,服务器调用该地址给我一个找不到资源。
这是我的 app.js
var app = angular.module("myApp", ['ngRoute'])
.config(function ($routeProvider, $locationProvider) {
$routeProvider.when('/test',
{
templateUrl: 'templates/TestPage.html',
controller: 'ProfesionalController'
});
$routeProvider.otherwise({ redirectTo: '/' });
$locationProvider.html5Mode(true);
});
这是我的观点(布局):
<!DOCTYPE html>
<script src="~/Scripts/angular/angular.js"></script>
<script src="~/Scripts/angular/angular-route.js"></script>
<script src="~/app/app.js"></script>
<script src="~/app/home/home.js"></script>
<script src="~/app/profesional/profesional.js"></script>
<base href="/">
<a href="test">Test</a>
@*this is the link*@
</div>
</div>
</div>
<div ng-app="myApp" class="container body-content">
<div ng-view></div>
@RenderBody()
</div>
当我点击测试链接时,服务器尝试定位:http://localhost:39881/test" 给我一个 404 Not Found - http://localhost:39881/test"
我错过了什么。它在没有 html5 模式的情况下运行良好。
【问题讨论】:
-
发布你的控制器。
-
角度控制器没什么大不了的:app.controller('ProfesionalController', function ($scope) { $scope.profesional= 'hi Customer!'; });
-
我的意思是你的 MVC 控制器。
-
MVC 控制器它是默认的索引控制器: public class CustomerController : Controller { // // GET: /Customer/ public ActionResult Index() { return View(); } }
标签: asp.net .net asp.net-mvc angularjs angular-routing