Asp.net mvc ASP.NET MVC和AngularJS

Asp.net mvc ASP.NET MVC和AngularJS,asp.net-mvc,angularjs,Asp.net Mvc,Angularjs,我使用的是AngularJS 1.2.2(我对它完全陌生)和MVC5。我正在尝试呼叫控制器,但它不工作 据我所知,最合适的“shell”页面是Views/Shared/_Layout.cshtml 因此,在这一页我有 <html data-ng-app="myApp"> 但是当我点击这两个链接中的任何一个时,我的getClass方法都不会被调用。正在引用包含此方法的文件。下面是它包含的代码 app.controller('NavbarController', function ($

我使用的是AngularJS 1.2.2(我对它完全陌生)和MVC5。我正在尝试呼叫控制器,但它不工作

据我所知,最合适的“shell”页面是
Views/Shared/_Layout.cshtml

因此,在这一页我有

<html data-ng-app="myApp">
但是当我点击这两个链接中的任何一个时,我的getClass方法都不会被调用。正在引用包含此方法的文件。下面是它包含的代码

app.controller('NavbarController', function ($scope, $location) {
    $scope.getClass = function(path) {
        if ($location.path().substr(0, path.length) == path) {
            return true;
        } else {
            return false;
        }
    };
});
知道为什么不叫这个吗

编辑

我的结构是这样的:

我在根目录中有一个应用程序文件夹

在app文件夹中,我有一个app.js,其中包含以下代码

var app = angular.module('myApp', []);
app.config(function ($routeProvider) {
    $routeProvider
        .when('/Home',
            {
                controller: 'HomeController',
                templateUrl: '/Views/Home/Index.cshtml'
            })
        .when('/Album',
            {
                controller: 'AlbumController',
                templateUrl: '/View/Album/Index.cshtml'
            })
        .otherwise({ redirectTo: '/Home' });
});
(顺便说一句,我猜通过像这样引用我的单个cshtml文件,我将获得正确的行为)

我有一个控制器文件夹,上面有NavbarController类

我还有一个服务文件夹,其中包含我的服务

在_布局文件中,我引用了这些js文件

 @Scripts.Render("~/Scripts/angular.js")
    @Scripts.Render("~/Scripts/angular-route.js")

    @Scripts.Render("~/bundles/jquery")
    @Scripts.Render("~/bundles/bootstrap")
    @RenderSection("scripts", required: false)

    @Scripts.Render("~/app/app.js")
    @Scripts.Render("~/app/controllers/navbarController.js")
    @Scripts.Render("~/app/controllers/albumController.js")
    @Scripts.Render("~/app/services/albumService.js")
控制台中有一个错误。是的

Error: [$injector:modulerr] Failed to instantiate module myApp due to: [$injector:unpr] Unknown provider: $routeProvider http://errors.angularjs.org/1.2.2/$injector/unpr?p0=%24routeProvider ...

看起来您没有在myApp的依赖项中包含ngRoute模块

'use strict';

angular.module('myApp', ['ngRoute']).
    config(['$routeProvider', function($routeProvider) {
    //Your code
}]);

您如何以及在何处定义
应用程序
?是否引用了所有必需的角度文件?您是否按当前顺序引用了JavaScript?您浏览器的控制台窗口中是否有错误?我将把这些信息作为编辑输入。这是正确的答案。您需要包括角路由,并声明模块依赖于角路由。
'use strict';

angular.module('myApp', ['ngRoute']).
    config(['$routeProvider', function($routeProvider) {
    //Your code
}]);