【问题标题】:View not loading in Asp.net angular app. Angular Routing with Asp.net mvc在 Asp.net 角度应用程序中未加载视图。使用 Asp.net mvc 的角度路由
【发布时间】:2018-04-21 07:36:28
【问题描述】:

我正在尝试在 ASP.NET AngularJs 应用程序中路由一个简单的视图,但未在浏览器 ngView 上加载的视图在浏览器中被注释掉了。

JavaScript

(function () {

"use strict";

angular.module("app-trips", ["simpleControls", "ngRoute"])
    .config(function ($routeProvider) {

        $routeProvider.when("/", {
            $controller: "tripsController",
            $controllerAs: "vm",
            $templateUrl: "/views/tripsView.html"
        });

        $routeProvider.when("/editor", {
            $controller: "tripEditorController",
            $controllerAs: "vm",
            $templateUrl: "/views/tripEditorView.html"
        });

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

})();

CHTML

@model IEnumerable<App.Models.Trip>
@{
    ViewBag.Title = "Home"; 
}

@section Scripts{ 
    <script src="~/lib/angular/angular.min.js"></script>
    <script src="~/lib/angular-route/angular-route.min.js"></script>
    <script src="~/js/simpleControls.js"></script>
    <script src="~/js/app-trips.js"></script>
    <script src="~/js/tripsController.js"></script>
}

<div ng-app="app-trips">
    <div ng-view></div>
</

结果

【问题讨论】:

    标签: javascript asp.net angularjs asp.net-mvc angular-routing


    【解决方案1】:

    从您的 $routeProvider 路由属性中删除 $ 符号。

    $routeProvider.when("/", {
        controller: "tripsController",
        controllerAs: "vm",
        templateUrl: "/views/tripsView.html"
    });
    

    注意:如果您使用的是 .NET MVC 项目,you can't access html files directly from views folder。我建议创建一个新文件夹并将静态 html 文件放在那里。

    【讨论】:

    • 很抱歉没有解决我的问题。这是 ASP.NET Core 没有 web.config。
    • @RxNReza 我想同样的规则也适用于 asp net core,创建一个新的静态文件夹并将所有 html 放在那里。
    猜你喜欢
    • 1970-01-01
    • 2016-10-22
    • 1970-01-01
    • 2017-11-08
    • 1970-01-01
    • 1970-01-01
    • 2017-02-28
    • 2016-03-23
    • 1970-01-01
    相关资源
    最近更新 更多