Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用C#Web Api后端处理AngularJS中的未知路由_Javascript_C#_Angularjs_Asp.net Web Api_Angular Ui Router - Fatal编程技术网

Javascript 如何使用C#Web Api后端处理AngularJS中的未知路由

Javascript 如何使用C#Web Api后端处理AngularJS中的未知路由,javascript,c#,angularjs,asp.net-web-api,angular-ui-router,Javascript,C#,Angularjs,Asp.net Web Api,Angular Ui Router,我正在构建一个网站,它有一个AngularJS前端,可以与C#Web API进行通信。我想在angular中配置路由,以便在调用/main时转到主页等 我目前已经设置了我的AngularJS路线,如下所示: (function () { 'use strict'; angular .module('app.main') .config(configure); configure.$inject = ['$stateProvider', '$urlRouterProvider'

我正在构建一个网站,它有一个AngularJS前端,可以与C#Web API进行通信。我想在angular中配置路由,以便在调用/main时转到主页等

我目前已经设置了我的AngularJS路线,如下所示:

(function () {
'use strict';

angular
    .module('app.main')
    .config(configure);

configure.$inject = ['$stateProvider', '$urlRouterProvider'];
/* @ngInject */
function configure($stateProvider, $urlRouterProvider) {

    $stateProvider
        .state('main', {
            url: '/main',
            views: {
                mainbody: {
                    templateUrl: 'templates/main/cityScreen.html',
                    controller: 'cityController',
                    controllerAs: 'vm',
                },
            }
        });

    $urlRouterProvider.otherwise('/');
}
})();
打电话时,这条路线可以正常工作

$state.go('main');
在js代码内部。但是,当我刷新页面或手动浏览到/main时,我会收到以下消息

未找到与请求URI“”匹配的HTTP资源。 未找到与名为“main”的控制器匹配的类型。


我假设这是因为我的Web API找不到任何到/main控制器的路由。这是正确的。因此,我的问题是如何设置我的Web API,使其不出现此错误,而是返回一些内容,以便我的用户能够选择路由并正确处理页面。

这是的副本。我四处查看过,但由于许多人使用不同的服务器,我还没有找到一篇好的博客文章或指南来说明如何为一个只支持Web api的Web项目设置它。您使用的是什么版本的ASP.Net/WebAPI?根据这一点,您可以添加一些中间件来理解客户端路由,并提供包含Angular代码的HTML,而不是它的副本。我环顾四周,但由于许多人使用不同的服务器,我还没有找到一篇好的博客文章或指南来说明如何为一个只支持Web api的Web项目设置它。您使用的是什么版本的ASP.Net/WebAPI?有鉴于此,您可以添加一些中间件来理解客户端路由,并提供包含Angular代码的HTML