1

我有带有两个参数的服务器 mvc 操作:

[HttpPost]
public ActionResult TestActionPost(string applicationId, Dictionary<string, int> myDictionary)
{    
   return null;
}

和ajax请求:

<script type="text/javascript">
    $(document).ready(function () {
        $("#itemList").tableDnD({
            onDrop: function (table, row) {
                var items = $("table#itemList > tbody > tr[id]");
                var dict = [];
                var dataObject = [];
                $.each(items, function (index, value) {
                    dict.push({
                        key: value.id,
                        value: index
                    });
                });
                dataObject.push("123");
                dataObject.push(dict); 

                $.ajax({
                    url: "/Admin/Applications/TestActionPost/",
                    type: "POST",
                    contentType: "application/json; charset=utf-8",

                    data: { applicationId: JSON.stringify(dataObject[0]), myDictionary : JSON.stringify(dataObject[1]) },
                    traditional: true,
                    dataType: "json",

                    success: function (response) {
                        alert(response);                        
                    }
                });
            }
        });
    });
</script>

我尝试将数据发送到服务器操作,但我的操作无法调用。我得到代码 HTTP 500。请帮帮我!

4

1 回答 1

0

我认为您对字典的序列化方式有疑问,这会导致在您调用操作时引发异常。本文解释了如何创建字典对象,然后可以通过 ajax 帖子发送该字典对象。

于 2013-11-13T11:51:30.813 回答