我正在使用jQuery的.serialize()从javascript生成的复选框中获取值。序列化后,数据通过AJAX发送到aspx页面。然后,aspx页面应该使用Request.Form.GetValues []捕获复选框值。我的问题是复选框是序列化的,但Request.Form.GetValues []没有得到任何值。
我以前在网络表单中生成的复选框工作正常。但是当它们成为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,
...
就是这样。谢谢所有回答的人!