AngularJs .Config是如何工作的?

时间:2015-03-07 13:38:49

标签: javascript jquery angularjs html5

我正在尝试创建一个导航栏,这就是我的html代码的样子......

<div class="container">
    <div class="row">
        <div class="navbar navbar-default">
            <div class="navbar-header">
                <ul class="nav navbar-nav">
                    <li><span class="navbar-brand">Registration</span></li>
                </ul>
            </div>
            <div class="navbar-collapse collapse">
                <ul class="nav navbar-nav">
                    <li><a href="/Courses">Courses</a></li>
                    <li><a href="/Instructors">Instructors</a></li>
                </ul>
            </div>

        </div>
        <div ng-view></div>
    </div>
</div>

我在我的布局页面中放了'ng-app'标签.............我的问题是当我点击这两个导航按钮时,它会给我一个错误页面,说不是页面发现(404错误代码).........这就是我的模块的样子.............

var registrationModule = angular.module("registrationModule", [])
    .config(function ($routeProvider, $locationProvider) {

        $routeProvider.when('/Courses', { templateUrl: '/Templates/Course.cshtml', controller: 'CoursesController' });

        $routeProvider.when('/Instructors', { templateUrl: '/Templates/Instructor.cshtml', controller: 'InstructorsController' });

        $locationProvider.html5Mode(true);

    })
;

这是我创建的两个模板.......... 1. Course.cshtml:

<div class="row">
    <h2>Course</h2>
    <div class="span10">
        <table class="table table-condensed table-hover">
            <tr>
                <th>Course</th>
                <th>Course Name</th>
                <th>Instructor</th>
            </tr>
            <tr ng-repeat="course in courses">
                <td>{{course.number}}</td>
                <td>{{course.name}}</td>
                <td>{{course.instructor}}</td>
            </tr>
        </table>
    </div>
</div>

2.Instructor.cshtml:

<div class="row">
    <h2>Instructor</h2>
    <div class="span10">
        <table class="table table-condensed table-hover">
            <tr>
                <th>Room Number</th>
                <th>Instructor's Name</th>
                <th>Email</th>
            </tr>
            <tr ng-repeat="instructor in instructors">
                <td>{{instructor.roomNumber}}</td>
                <td>{{instructor.name}}</td>
                <td>{{instructor.email}}</td>
            </tr>
        </table>
    </div>
</div>

1 个答案:

答案 0 :(得分:0)

你无法通过url访问cshtml文件,因为它们只是分析C# razor引擎,我宁愿你从控制器动作加载那些.cshtml文件。而不是cshtml的指令路径使用asp.net mvc控制器操作加载它。

<强> CODE

var registrationModule = angular.module("registrationModule", [])
.config(function($routeProvider, $locationProvider) {

  $routeProvider.when('/Courses', {
    //templates controller Course action will return Course.cshtml
    templateUrl: '/Templates/Course',
    controller: 'CoursesController'
  });

  $routeProvider.when('/Instructors', {
    //templates controller Instructor action will return Instructor.cshtml
    templateUrl: '/Templates/Instructor',
    controller: 'InstructorsController'
  });

  $locationProvider.html5Mode(true);

});