将json对象列表传递给控制器​​方法

时间:2011-11-11 07:30:47

标签: jquery asp.net-mvc

我正在尝试将一个json数组传递给我的控制器但是却在努力。

以下是代码

Javascript代码

var options = {
                    'url': "Collection.mvc/ReorderAndDeleteTitles",
                    'data': "dids=1&rTitles=" + ReorderGridData(),
                    'type': "POST",
                    'dataType': "json",
                    'traditional': true,
                    'killOverlays': false,
                    'showloader': false,
                    'onSuccess': function (data) {

                    },
                    'onError': function (data) {
                        ShowAjaxError(data);
                        $().killOverlays();
                    }
                };
                $().ajaxCall(options);//used for making ajax calls

//returns the titleID and its new order
function ReorderGridData() {
    var ssIds = [];
    $('table.resultsTable').find('tbody tr.updated').each(function (index) {
        var titleId = $(this).find('td.th_collectionTitleId').attr('title');
        var newOrder = $(this).find('input.js-sortText').val();
        ssIds.push({ Records: { Id: titleId, NewOrder: newOrder} });
    });

    return ssIds;
}

控制器代码

public class TitleReorder
        {
            public string Id { get; set; }
            public string NewOrder { get; set; }
        }


        [HttpPost]
        public void ReorderAndDeleteTitles(string dids, List<TitleReorder> rTitles)
        {

        }

当我调试时,我将rTitles param作为null

请告知

1 个答案:

答案 0 :(得分:0)

您可以使用JSON请求将复杂的javascript文字发送到控制器操作。看看following blog post