我在VS2017中创建的webapi项目中引入路由时遇到问题。我使用最新的角度。这是来源:
app.angular
angular.module('angularapp', [
'ngRoute',
'ngCookies',
'ngAnimate',
'angular-loading-bar'
])
.config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) {
$routeProvider.when('/login', {
templateUrl: 'login.aspx'
})
.when('/', {
templateUrl: '/login.aspx'
})
.when('/404', {
templateUrl: '/404.aspx'
})
.when('/home', {
templateUrl: '/home.aspx'
})
.otherwise({ redirectTo: '/' });
$locationProvider.html5Mode({
enabled: true,
requireBase: false
});
}])
在项目启动时,IIS结果为404.很明显,我加载了角度,然后是ngroute,然后是控制器。有一个母版页我全局加载所有其他页面上的所有css和js都是aspx。每个页面都有一个控制器。我遗失了一些东西o文件中有一些错误?需要其他信息? 谢谢你的帮助
修改
代码修改。 我用这种方式修改了web.confing:
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules></modules>
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
<rewrite>
<rules>
<rule name="AngularJS Routes" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_URI}" pattern="api/(.*)" negate="true" />
</conditions>
<action type="Rewrite" url="/" />
</rule>
</rules>
</rewrite>
<defaultDocument>
<files>
<clear />
<add value="login.aspx"/>
</files>
</defaultDocument>
现在登录正在加载,但我注射模块有问题...我不知道在哪里。如果我正确登录,IIS重新加载始终登录。