我需要将一对键值对值发送到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的参数发送?