Я новичок в angularjs и реализую его в ASP.NET MVC. Я прочитал несколько статей и реализовать код, как показано ниже,Почему угловые маршруты не работают в ASP.NET MVC
это мой макет страницы,
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>angular demo</title>
<script src="~/Scripts/modernizr-2.6.2.js"></script>
<script src="~/Scripts/angular.js"></script>
<script src="~/Scripts/angular-route.js"></script>
<script>
var schoolModule = angular.module("schoolModule", ['ngRoute']);
schoolModule.config(function ($routeProvider) {
$routeProvider.when('/one', {
templateUrl: "Master/One",
controller: "OneController"
})
.when('/two', {
templateUrl: "Master/Two",
controller: "TwoController"
})
.when('/three', {
templateUrl: "Master/Three",
controller: "ThreeController"
})
.otherwise({
redirectTo: 'Master/One'
});
});
schoolModule.controller("OneController", function ($scope) {
$scope.message = "One message";
});
schoolModule.controller("TwoController", function ($scope) {
$scope.message = "Two message";
});
schoolModule.controller("ThreeController", function ($scope) {
$scope.message = "Three message";
});
</script>
</head>
<body ng-app="schoolModule">
<header>Title</header>
@RenderBody()
<footer>Footer here</footer>
</body>
</html>
Моя страница Индекс,
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Master.cshtml";
}
<a href="/#/one">One</a>
<a href="/#/two">Two</a>
<a href="/#/three">Three</a>
<div ng-view>
</div>
Я также создал 3 частичный вид, только с сообщениями ,
<div ng-controller="OneController">
{{message}}
</div>
Вот, когда я запускаю проект, расположенный по адресу,
http://localhost:52211/Master/index#/Master/one
при нажатии на вторую кнопку, он перенаправляет меня на другой контроллер и действие, но гиперссылка есть
http://localhost:52211/#/two
и он переходит на главный контроллер, указатель.
Скажите, пожалуйста, какую ошибку я здесь делаю и как заставить ее работать? Спасибо.
Это сделало мой URL чистый, но представления не отображаются в теге div ng-view. –
Когда вы используете тег 'base', ваши ресурсы также будут относиться к базе, поэтому вам нужно будет обновить свой' templateUrl' соответственно. –
@ KevalPatel это сработало для вас? –