【问题标题】:Passing array from jquery ajax method to c# codebehind将数组从 jquery ajax 方法传递给 c# 代码隐藏
【发布时间】:2011-10-12 15:17:13
【问题描述】:

我需要将 JavaScript 数组变量传递给代码隐藏文件并访问该数组。

如果这正是 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;
}

【问题讨论】:

    标签: asp.net jquery-ui jquery c#-4.0


    【解决方案1】:

    有两种方法可以从客户端访问代码。

    1. 将其存储在随请求发送的集合中(通常是通过表单提交)。
    2. 通过 JavaScript 设置对服务器端服务的“AJAX”调用。

    上述内容有所不同,但本质上您是在使用服务或在回发。

    查看您的代码,您需要 AJAX 方向。我将从this Stack Overflow post 开始,因为它涵盖了将数组传递回代码隐藏文件的“服务端点”的基础知识。

    【讨论】:

    • 你能告诉我如何将它存储在集合中并随请求一起发送吗??
    猜你喜欢
    • 2014-01-01
    • 2014-12-28
    • 1970-01-01
    • 2019-03-30
    • 1970-01-01
    • 2010-10-21
    • 2013-03-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多