将jQuery的结果用于C#
我在jquery中有这个函数,它有结果数组,如何将这个结果数组转换为C#代码。 任何人都可以帮我这个。
function generateData() { var result = $('#accordion').sortable('toArray'); }
您可以通过脚本中的Web方法调用异步执行此操作,以便您可以适当地定义Web方法,然后根据需要调用和处理数据和潜在的返回值。 例如:
定义Web方法:
[WebMethod] [ScriptMethod(ResponseFormat = ResponseFormat.Json)] public static string HandleData(object[] data) { //handle data return string.Empty; }
定义可重用的jQuery脚本方法来处理Web方法调用:
function ExecutePageMethod(page, fn, paramArray, successFn, errorFn) { 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 + '}'; $.ajax({ type: "POST", url: page + "/" + fn, contentType: "application/json; charset=utf-8", data: paramList, dataType: "json", success: successFn, error: errorFn }); }
当然,呼叫本身:
ExecutePageMethod("Default.aspx", "HandleData", ["data", result], successCallback, failureCallback);
当然,我们现在需要确保我们的回调方法存在:
function successCallback(result) { var parsedResult = jQuery.parseJSON(result.d); } function failureCallback(result) { }
使用hiddenfield存储结果..
JQuery的
$('hfResult').val(result);
C#
String result = hfResult.Value;
请注意,hiddenField只保存一个字符串,因此您可能需要使用某种分隔符来分隔您的数组对象。