0

我正在使用 jQuery 的 .serialize() 从 javascript 生成的复选框中获取值。序列化后,数据通过 AJAX 发送到一个 aspx 页面。然后,aspx 页面应使用 Request.Form.GetValues[] 捕获复选框值。我的问题是复选框是序列化的,但 Request.Form.GetValues[] 没有得到任何值。

我曾经在 Web 表单中生成复选框,效果很好。但是当它们变成 javascript 生成时,Request.Form.GetValues[] 无法再获取复选框值。

以下是代码片段:

(序列化和 ajax 函数)

$('a#upload-button-gp').live('click', function() {
var data = $('form#upload').serialize();
$.loader(true);
$.ajax({
    url: '/ptcProject/ajax.aspx',
    type: 'post',
    data: { data: data, upload: 1 },
    success: function(response) {
        if (parseInt(response) == 1) {
            $.loader(false);
            $('#confirmationUpload').modal('hide');
        }
        else if (parseInt(response) == 0) {
            alert("You have already uploaded this batch.");
            $('#confirmationUpload').modal('hide');
            $.loader(false);
        }
        else {
            alert('Please select at least one row to upload.');
            $('#confirmationUpload').modal('hide');
            $.loader(false);
        }
    }
});

(js生成的复选框)

$('tbody#table-data').append("<tr><td><input id='check' name='include[]' type='checkbox' class='input-field checkbox' value='" + buttonId + "' checked='checked' /></td>" + $(this).parent().parent().html() + "</tr>");

(aspx页面)

string[] claimsID = Request.Form.GetValues("include[]");

非常感谢您的帮助!

更新:

发现问题了!

添加代码:

data += "&upload=1";
...
$.ajax({
...
data: data,
...

就是这样。感谢所有回答的人!

4

0 回答 0