Angularjs 传递给控制器​​的路由参数

Angularjs Routing Parameter passing to controller

以下代码不适用于参数传递

   <li class="active" ng-disabled="disabledAction"><a href="#!/Reservation/821" ><i class="fa fa-fw fa-pencil-square-o icon-push"></i>{{langResources.EditReservation}}</a></li>

单击此 link 将重定向到下面 controller.but 未获取参数值 ie,821

 [HttpGet]
    public ActionResult HotelReservation(long resId = 0)
    {
        ViewBag.resId = resId;
        return PartialView();
    }

 $routeProvider.when('/Reservation/:ResId', {
    templateUrl: '/Home/HotelReservation/resId=ResId',
    controller: 'HotelReservationCtrl',
activetab: 'Reservation'
});

我认为您必须更改 when 部分? $routeProvider.when('/Reservation/:ResId?', { templateUrl: '/Home/HotelReservation/resId=ResId', controller: 'HotelReservationCtrl', activetab: 'Reservation' });。 因为它期望 MVC 控制器中的 resId 参数值。 所以在锚标记中这样做 <a href="#!/Reservation?resId=821" >

现在可以使用了。

代码更改为

 $routeProvider.when('/Reservation/:ResId', {
templateUrl: function (params) {
        var url='/Home/HotelReservation?resId=' + params.ResId;
         return url},    
controller: 'HotelReservationCtrl',
activetab: 'Reservation'
});