【问题标题】:How to config routeProvider with MVC4 and WebAPI2如何使用 MVC4 和 WebAPI2 配置 routeProvider
【发布时间】:2014-08-25 15:06:18
【问题描述】:

我有一个小应用程序,它显示带有一些事件的日历。

当我点击其中一个事件时,我想在日历下方显示选择的详细信息。

事件的 url 是在这样的循环中生成的:

'url': '#/concerts/' + data[idx].id

我的配置如下:

var app = angular.module('EventsApp', ['ngRoute']);

app.config(['$routeProvider', '$locationProvider',
    function ($routeProvider, $locationProvider) {
        $routeProvider.
            when('/concerts/:eventId', {
                templateUrl: '/Views/Home/ng-view/details.html',
                controller: 'EventCtrl'
            }).
        otherwise({
            redirectTo: '/'
        });
    }]);

我的 Index.cshtml:

<div id="bodyApp" ng-app="EventsApp">
    <div class="mainBody" ng-controller="EventCtrl as event" ng-init="event.getAllConcerts()">
        <div class="search">
            <input type="search" />
        </div>
        <div class="calendar">
             <div id="calendar">

            </div>
       </div>
       <div class="crudSection" ng-view>

    </div>
</div>

目前我只是想让 details.html 显示出来,但它没有重定向。 url 更新为正确的,但我的视图没有刷新。

另外,routeProvider 配置应该如何在不暴露 '/api/{controller}/{id}' 信息的情况下进行 webapi 调用?

编辑:我尝试使用标准 MVC 路由 '/Home/{action} 和部分视图,它可以工作,但不是 '/Home/{action}/{id}',所以我想我错过了关于如何结合两个路由的东西。

【问题讨论】:

    标签: asp.net-mvc angularjs asp.net-mvc-4 routes asp.net-web-api2


    【解决方案1】:

    我在以下链接中找到了解决方案:

    AngularJS - How to use $routeParams in generating the templateUrl?

    app.config(['$routeProvider', '$locationProvider',
        function ($routeProvider, $locationProvider) {
            $routeProvider.
                when('/concerts/:eventId', {
                    templateUrl: function (params) { return '/Home/Details/' + params.eventId; },
                    controller: 'EventCtrl'
                }).
            otherwise({
                redirectTo: '/'
            });
        }]);
    

    【讨论】:

      猜你喜欢
      • 2014-06-14
      • 1970-01-01
      • 2015-07-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-29
      相关资源
      最近更新 更多