gpt4 book ai didi

asp.net-mvc - 站点托管到 IIS 后,AngularJS 路由不起作用

转载 作者:行者123 更新时间:2023-12-04 23:20:24 24 4
gpt4 key购买 nike

我们正在 ASP.NET MVC 框架中使用 AngularJS 创建 SPA 技术,当它从 VS2013 运行时,页面之间的 AngularJS 路由工作正常,但是在将应用程序托管到 IIS7.5 路由后不起作用,

路由脚本:

   var appRoot = angular.module('main', ['ngRoute', 'ngGrid', 'ngResource']);     //Define the main module

appRoot
.config(['$routeProvider', function ($routeProvider) {
//Setup routes to load partial templates from server. TemplateUrl is the location for the server view (Razor .cshtml view)
$routeProvider
.when('/home', { templateUrl: '/home/main', controller: 'HomeController' }) .otherwise({ redirectTo: '/home' });
}])
.controller('RootController', ['$scope', '$route', '$routeParams', '$location', function ($scope, $route, $routeParams, $location) {
$scope.$on('$routeChangeSuccess', function (e, current, previous) {
$scope.activeViewPath = $location.path();
});
}]);

索引.html:
 <li class="mt" data-ng-class="{active : activeViewPath==='/home'}">
<a href='#/home'>
<i class="fa fa-dashboard"></i>
<span>Dashboard Home</span>
</a>
</li>


<div class="col-lg-9 main-chart" ng-view="">
</div>

项目结构:

enter image description here

最佳答案

在 IIS 上运行时是否出现任何 JS 错误?

你在使用捆绑包吗?如果是这样,请检查问题是否由于缩小/捆绑创建添加而发生BundleTable.EnableOptimizations = true;RegisterBundles方法并在 VS 中重试。

否则,我建议您在本地 IIS 上运行(右键单击项目,选项卡“Web”,“服务器”部分)并查看它是否正常工作。

根据您的路由,您应该 <base href="@Url.Content("~/")" />在模板头部并使用 $locationProvider.html5Mode(true); 从 url 中删除“#”关于路由配置。

如果以上都没有用,请在您的请求中添加更多详细信息。

祝你今天过得愉快,

阿尔贝托

关于asp.net-mvc - 站点托管到 IIS 后,AngularJS 路由不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28678950/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com