У меня есть базовое приложение AngularJS MVC, и я не могу загрузить страницы. При открытии частичных представлений они работают просто отлично, но когда я нажимаю на навигационную панель, они не загружаются.
Пытался отлаживать и все и без удачи. Там нет ошибок или что-нибудь. Не уверен, что я допустил ошибку при кодировании, или могут быть проблемы с совместимостью или что-то с пакетами.
Я использую Visual Studio Professional 2017 версии 15.9.16, Microsoft .NET Framework версии 4.7.03062.
Структура проекта
_Layout.cshtml
<!DOCTYPE html>
<html lang="en" ng-app="App">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>@ViewBag.Title - Suitability Escalation Tool</title>
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
@Scripts.Render("~/bundles/bootstrap")
</head>
<body>
<header>
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="#!/">Dashboard</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#!/lstview">List View</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#!/newesc">New Escalation</a>
</li>
</ul>
</div>
</nav>
</header>
<div id="body">
@RenderSection("featured", required: false)
<section class="content-wrapper main-content clear-fix">
@RenderBody()
</section>
</div>
@RenderSection("scripts", required: false)
</body>
</html>
webApp.js
angular.module('App', ['AngularDemo.DashboardController',
'AngularDemo.ListViewController',
'AngularDemo.NewEscalationController'
])
.config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) {
$routeProvider.when('/', {
templateUrl: '/Home/Dashboard',
controller: 'DashboardCtrl',
});
$routeProvider.when('/lstview', {
templateUrl: '/Home/ListView',
controller: 'ListViewCtrl'
});
$routeProvider.when('/newesc', {
templateUrl: '/Home/NewEscalation',
controller: 'NewEscalationCtrl'
});
$routeProvider.otherwise({
redirectTo: '/'
});
// Specify HTML5 mode (using the History APIs) or HashBang syntax.
$locationProvider.html5Mode(false).hashPrefix('!');
}]);
angular.module('AngularDemo.NewEscalationController', ['ngRoute'])
.controller('NewEscalationCtrl', function ($scope, $http) {
$scope.TestModel =
{
TestId: '',
TestName: '',
TestDetails: ''
};
$scope.TestList = {};
$http.get('/Home/PopulateTestList').success(function (data) {
$scope.TestList = data;
});
});
angular.module('AngularDemo.DashboardController', ['ngRoute'])
.controller('DashboardCtrl', function ($scope, $http) {
$scope.Message = "Edit in Part 2 is coming soon";
});
angular.module('AngularDemo.ListViewController', ['ngRoute'])
.controller('ListViewCtrl', function ($scope, $http) {
$scope.Message = "Delete in Part 2 is coming soon";
});
Пример ListView.cshtml
@{
ViewBag.Title = "ListView";
}
<h2>ListView</h2>
{{Message}}
Просмотр браузера
Как уже упоминалось, когда я пытаюсь открыть файлы cshtml по отдельности, ониоткрой просто отлично. Однако, когда я нажимаю в моей панели навигации, ничего не происходит, она просто пуста.