jQuery / JSON和ASP.NET读取/序列化表单字段

时间:2012-10-17 08:12:09

标签: c# jquery ajax

我正在使用jQuery 1.7.1,$ .ajax,Javascript,JSON和ASP.NET,并且遇到了一些问题。将表单提交到ASP.NET PageMethod时,并非所有表单字段都已序列化或为空。当我调试代码时,没有任何问题,所以也许你可以帮助我。

我在javascript

中提交了这样的表单
function SaveFormData() {

    var fields = $("form").serializeArray();
    var myData = { 'projectId': projectId, 'fields': fields };

    myData = JSON.stringify(myData);

    $.ajax({
        type: "POST",
        url: "/w2/AspNetPage.aspx/SaveForm",
        contentType: "application/json; charset=utf-8",
        timeout: (1000 * 60 * 10),
        data: (myData),
        dataType: "json",
        success: function () {
            alert('done');
        },
        error: function () {
            alert('error');
        }
    });
}

我的AspNetPage.aspx包含webmethod SaveForm:

[WebMethod]
public static string SaveForm(int projectId, field[] fields) {
    // do the processing here
}

要读取和处理formdata我正在使用在javascript / JSON和ASP.NET之间序列化所需的类字段。

public class field {
    public string name { get; set; }
    public string value { get; set; }
}

我的问题是,有时并非所有表单字段都已发布或为空。我通过调试找不到问题,所以也许你可以帮我解决这个问题。请记住,表单可以包含数百个表单字段。

我也想知道我现在使用的代码是否是线程安全的,也许我必须处理与现在不同的表单数据。

请帮忙

1 个答案:

答案 0 :(得分:0)

请确保您的表单字段未被禁用

禁用字段无法发布到服务器

参见

values of disabled inputs will not be submited?

submit disabled fields

希望这可能有所帮助!