Адрес браузера не будет правильно отображаться в UI-маршруте
Я использую следующий пример:
http://angular-ui.github.io/ui-router/sample/#/
URL страницы по умолчанию в приведенном выше примере:
http://angular-ui.github.io/ui-router/sample/#/
Но для меня это так:
http://localhost:25768/Admin#/
Зачем ?
Должно быть так:
http://localhost:25768/Admin/#/
Примечание: Admin - это контроллер в MVC.
мои коды:
app.js:
angular.module('uiRouterApp', [
'uiRouterApp.home',
'ui.router',
'ngAnimate'
])
.run(
[
'$rootScope', '$state', '$stateParams',
function($rootScope, $state, $stateParams) {
$rootScope.$state = $state;
$rootScope.$stateParams = $stateParams;
}
]
)
.config(
[
'$stateProvider', '$urlRouterProvider',
function($stateProvider, $urlRouterProvider) {
$urlRouterProvider
.when('/c?id', '/contacts/:id')
.when('/user/:id', '/contacts/:id')
.otherwise('/');
}
]
);
home.js:
angular.module('uiRouterApp.home', [
'ui.router'
])
.config(
[
'$stateProvider', '$urlRouterProvider',
function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('home', {
url: '/',
templateUrl: 'Scripts/ui-route/home/home.html',
});
}
]
);
макет:
<!DOCTYPE html>
<html ng-app="uiRouterApp">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
<title ng-bind="$state.current.name + ' - ui-router'">@ViewBag.Title</title>
</head>
<body class="container adminBackground">
<div class="min1170px">
<div class="adminHeader">
<img class="adminLeftLogoHeader" src="/Images/juventusLogo.png" />
<img class="adminRightLogoHeader" src="/Images/apkAndroid.png" />
<div class="adminTitleHeader">
</div>
</div>
<nav class="navbar navbar-inverse" role="navigation">
<div class="navbar-header">
<a class="navbar-brand" ui-sref="home">Main</a>
</div>
<div id="navbarMenuHeader">
<ul class="nav navbar-nav">
<li><a href="#">Exit</a></li>
</ul>
<ul class="nav navbar-nav navbar-left">
<li><a href="#"> @User.Identity.Name</a></li>
</ul>
</div>
</nav>
<div id="body">
@RenderSection("featured", required: false)
<section>
@RenderBody()
</section>
</div>
</div>
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
@Scripts.Render("~/bundles/angularJs")
@RenderSection("scripts", required: false)
</body>
</html>
Индексная страница в Admin Controller:
@{
ViewBag.Title = "Manager";
Layout = "../Shared/_AdminLayout.cshtml";
}
Обновить :
когда URL-адрес:http://localhost:25768/Admin
и URL изменить на:
http://localhost:25768/Admin#/
без ошибок и все работает. но URL естьhttp://localhost:25768/Admin#/
!!!! нехорошо
когда URL-адрес:localhost:25768/Admin/
поэтому URL-адрес меняется на:
http://localhost:25768/Admin/#/
ошибка в угловых:
GET http://localhost:25768/Admin/Scripts/ui-route/home/home.html 404 (Not Found)