Angularjs Routing参数传递给控制器

问题描述 投票:-2回答:2

下面的代码不适用于参数传递

   <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>

点击此链接将重定向到控制器下方。但没有获取参数值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'
});
angularjs asp.net-mvc angularjs-routing angularjs-module
2个回答
0
投票

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


0
投票

现在它正在运作。

代码更改为

 $routeProvider.when('/Reservation/:ResId', {
templateUrl: function (params) {
        var url='/Home/HotelReservation?resId=' + params.ResId;
         return url},    
controller: 'HotelReservationCtrl',
activetab: 'Reservation'
});
© www.soinside.com 2019 - 2024. All rights reserved.