asp.net将字典作为ajax调用中的附加参数

时间:2016-02-25 08:51:59

标签: asp.net ajax vb.net dictionary

我需要将一对键值对值发送到aspx页面中的webmethod。

这就是我在javascript文件中创建字典的原因:

var parentSelects = $('select[datacolumnname]');
            var parentValues = [];
            for (index = 0; index < parentSelects.length; ++index) {
                var select = $(parentSelects[index]);
                var keyToPush = select.attr("datacolumnname");
                var valueToPush = select.val();
                parentValues.push({
                    key: keyToPush,
                    value: valueToPush
                });
            }

在我的aspx文件中有一个像这样的web方法

Public Shared Function LoadChildData(ByVal parentId As String, ByVal parentValue As String, ByVal childId As String, ByVal childValue As String, ByVal dictionary As Dictionary(Of String,String)) As String
{
   // I NEED TO GET DICTIONARY VALUES HERE
}

我创建要发送的数据:

 var mydata = "{'parentId':" + parentId + ", 'parentValue': '" + $(this).val() + "', 'childId': '" + childs[i] + "', 'childValue': '" + childValue + "'" + ", 'dictionary': '" + JSON.stringify(parentValues) + "'}";

$.ajax({
                    type: "POST",
                    url: myurl,
                    data: mydata,
                    contentType: "application/json; charset=utf-8",
                    async: false,
                    cache: false,
                    dataType: "json",
                    success: function (rdata) {
                        alert("Success");
                    },
                    error: function (err) {
                        alert("Error");
                    }
                });

我无法发送字典作为参数,ajax方法警告“错误”。

如何在aspx中将字典作为webmethod的参数发送?

0 个答案:

没有答案