В моем случае мне нужно использовать @Html.ActionLink для маршрутизации к другому представлению с помощью AngularJS. В каждом представлении1/index.cshtml в asp.net есть <div ng-view></div>
, который будет загружать свой HTML-шаблон.
следующее изображение ссылки — это структура моего проекта:
нажмите
Моя проблема: это только первый успех маршрута. Я думаю, что это вызывает неправильный URL-адрес местоположения.
Просмотры/Общий доступ/_Layout.cshtml:
<ul>
<li>@Html.ActionLink("Home", "Index", "Home")</li>
<li>@Html.ActionLink("Device Management", "Index", "DeviceManagement")</li>
</ul>
Представления/Главная/index.cshtml:
@{
ViewBag.Title = "Home Page";
ViewBag.InitModule = "homeIndex";
}
@section Scripts {
<script src="~/app/home/homeIndex.js"></script>
}
<div ng-view><div>
приложение/home/homeIndex.js
var homeIndex = angular.module('homeIndex', ["ngRoute"]);
homeIndex.config(["$routeProvider", function($routeProvider){
$routeProvider
.when("/home",{
templateUrl:"app/home/homeIndex.html",
controller:"homeCtrl"
})
.otherwise({
redirectTo:"/home"
});
}]);
приложение/home/homeIndex.html
<a href="#/home2">HOME2</a>
app/deviceManagement/deviceManageIndex.js
var deviceManageIndex = angular.module('deviceManageIndex', ["ngRoute"]);
deviceManageIndex.config(["$routeProvider", function($routeProvider) {
$routeProvider
.when("/device", {
templateUrl: "app/deviceManagement/deviceManagementIndex.html",
controller: "deviceManageCtrl"
})
.otherwise({
redirectTo:"/device"
});
}]);
на веб-сайте есть боковая панель, кнопки Главная и Управление устройством на боковой панели.
когда я нажимаю Home, он перенаправляет правильное местоположение, он может успешно загрузить homeIndex.html:
расположение:
http://localhost:13060/#/home
но когда я нажимаю кнопку Home второй раз, он больше не может загрузить homeIndex.html.
местоположение изменится на:
http://localhost:13060/#
такая же проблема возникла в другой кнопке Управление устройством
когда я нажимаю Управление устройствами, он перенаправляет правильное местоположение, он может успешно загрузить deviceManagementIndex.html:
расположение:
http://localhost:13060/DeviceManagement#/device
но когда я нажимаю кнопку Управление устройствами второй раз, он больше не может загружать deviceManagementIndex.html.
местоположение изменится на:
http://localhost:13060/DeviceManagement#
Я думаю, что место довольно странное, в первый раз оно должно быть:
http://localhost:13060/DeviceManagement/#/device
Я думаю, это основная причина неправильной загрузки html-шаблона...
Но почему URL-адрес местоположения не может отображаться правильно, пожалуйста, помогите мне решить проблему с головной болью....