我需要将JavaScript Array变量传递给代码隐藏文件并访问该数组。
如果这是Ajax方法所期望的确切数据对象,请告诉我。在使用它时,代码总是跳转到failureCallback
函数。有人可以帮我这个吗?
的jQuery / JavaScript的:
result
数组中的数据为:section_1,section_2,section_3
。
paramList
的输出为:{"data":"section_1,section_2,section_3"}
。
function generateData() {
var result = $('#accordion').sortable('toArray');
alert(result);
ExecutePageMethod("ReorderList.aspx", "HandleData", ["data", result], successCallback, failureCallback);
}
function ExecutePageMethod(page, fn, paramArray, successFn, errorFn) {
alert("entered page method");
var paramList = '';
if (paramArray.length > 0) {
for (var i = 0; i < paramArray.length; i += 2) {
if (paramList.length > 0) paramList += ',';
paramList += '"' + paramArray[i] + '":"' + paramArray[i + 1] + '"';
}
}
paramList = '{' + paramList + '}';
alert(paramList);
$.ajax({
type: "POST",
url: page + "/" + fn,
contentType: "application/json; charset=utf-8",
data: paramList,
dataType: "json",
success: successFn,
error: errorFn
});
}
function successCallback(result) {
var parsedResult = jQuery.parseJSON(result.d);
}
function failureCallback(result) {
alert("entered failure");
}
C#代码背后:
public static string HandleData(object[] data)
{
//How should I parse this object data?
return data;
}
答案 0 :(得分:1)
有两种方法可以从客户端访问代码。
上述内容有所不同,但基本上您正在使用服务或者您正在回发。
查看代码,您需要AJAX方向。我将从this Stack Overflow post开始,因为它涵盖了将数组传递回代码隐藏文件的“服务端点”的基础知识。