angularjs - 在 Web api 应用程序中使用 Angular 路由

标签 angularjs asp.net-web-api ngroute angularjs-ng-route

我不确定如何在 web api 应用程序中实现正确的 Angular 路由。我可以使用这种方法打开页面:http://localhost:52876/HTML/app/borrower.html

Angular Controller 加载良好,所有功能都来自 Angular 一侧。

现在,我希望能够使用 ng-route 以更好的 View 打开 View ,例如 http://localhost:52876/HTML/app/borrower.html将成为http://localhost:52876/borrower .

我在我的 angular 应用程序中使用的 html 文件中包含了 ng-route.js 文件。

同样在 app.js 我有这个:

'use strict';

var modules = [
    'app.controllers',
    'LoanAdminApplicationController',
    'ngCookies',
    'ngResource',
    'ngSanitize',
    'ngRoute',
    'ui.router',
    'LocalStorageModule',
    'angular-loading-bar'
];

var app = angular.module('app', modules);


app.config(function ($routeProvider, $locationProvider) {
    $locationProvider.html5Mode(true);
    $routeProvider.when("/home", {
        controller: "homeController",
        templateUrl: "/app/views/home.html"
    });

    $routeProvider.when("/login", {
        controller: "loginController",
        templateUrl: "/HTML/login.html"
    });

    $routeProvider.when("/signup", {
        controller: "signupController",
        templateUrl: "/app/views/signup.html"
    });

    $routeProvider.when("/register", {
        controller: "signupController",
        templateUrl: "/app/views/register.html"
    });

    $routeProvider.when("/refresh", {
        controller: "refreshController",
        templateUrl: "/app/views/refresh.html"
    });

    $routeProvider.when("/tokens", {
        controller: "tokensManagerController",
        templateUrl: "/app/views/tokens.html"
    });

    $routeProvider.when("/borrower", {
        controller: "borrowerController",
        templateUrl: "/HTML/app/borrower.html"
    });

    $routeProvider.otherwise({ redirectTo: "/home" });

});

html 标记(我删除了内容):
<!DOCTYPE html>
<html ng-app="app">
<head>
</head>
<body ng-controller="BorrowerQuickQuoteApplication">


    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
    <script src="/assets/js/jquery.min.js"></script>
    <script src="/assets/js/modernizr.js"></script>
    <!-- Include all compiled plugins (below), or include individual files as needed -->

    <script src="/assets/js/bootstrap.min.js"></script>
    <script src="/Scripts/angular.js"></script>
    <script src="/Scripts/angular-cookies.min.js"></script>
    <script src="/Scripts/angular-resource.min.js"></script>
    <script src="/Scripts/angular-sanitize.min.js"></script>
    <script src="/Scripts/angular-route.min.js"></script>
    <script src="/Scripts/angular-ui-router.min.js"></script>
<script src="/Angular/controllers.js"></script>
    <script src="/Angular/LoanApplicationController.js"></script>
    <script src="/Angular/services.js"></script>
    <script src="/Scripts/angular-local-storage.min.js"></script>
<script src="/Scripts/loading-bar.min.js"></script>

<script src="/Angular/app.js"></script>
</body>
</html>

知道我需要做什么才能使其正常工作吗?

我应该修改 RouteConfig.cs 文件还是我还需要做其他事情?

最佳答案

例如,您不使用文件名导航,因为您正在执行 Angular 路线工作

  $routeProvider.when("/borrower", {
        controller: "borrowerController",
        templateUrl: "/HTML/app/borrower.html"
    });

当你去localhost:8080/yourapp/borrower
你需要 ng-view在你的 index.html

像这样
<div ng-view></div>

您的页面将显示在此处。

路由器将查看您正在请求借款人,并将带您到 /HTML/app/borrower.html您正在使用 html 5 模式,这意味着您需要服务器端路由,以便它每次都可以落入 index.html,因此您的 url可以没有哈希。

关于angularjs - 在 Web api 应用程序中使用 Angular 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38791267/

相关文章:

resources - AngularJS 指令和服务($resource)之间的冲突

javascript - 无法读取动态数据表的未定义属性 'aDataSort'

javascript - 关于 Controller 的 Angular 文档

c# - 如何在客户端获取 DotNetOpenAuth.OAuth2 返回的错误消息?

javascript - AngularJs 路由没有错误但不工作

javascript - 路线更改后滚动到顶部(嵌套 div)

angularjs - MoSTLy PJAX 网站和一些 AngularJS

c# - HttpClient PostAsync() 不起作用而 POSTMAN 工作正常

asp.net - 使用 Knockout.js 绑定(bind) JSONP 数据时出现问题

javascript - 如何使用 ngRoute 在 templateUrl 中使用 URL 参数?