我在使用 ASP.NET MVC3、AJAX 和 JQUERY 时遇到了问题。我有以下功能
[HttpPost]
public bool Update(int id, FormCollection collection)
这是我的 jQuery 源代码:
$(document).ready(function () {
$('#btnUpdate').click(function (e) {
// Cancel default action
e.preventDefault();
var formCollection = $('#formId').serialize();
$.ajax({
cache: false,
type: 'POST',
url: '@Url.Action("Action","Controller")',
data: { id: $('#id').val(), collection: formCollection },
success: function (data) {
alert(data);
},
error: function (xhr, ajaxOptions, thrownError) {
alert('Error during process: \n' + xhr.responseText);
}
});
});
});
id参数提交成功,但是集合(FormCollection)包含一个数组,{[0]:10000,[1]:collection}。我无法解决问题。当我重新设计这样的解决方案时:
[HttpPost]
public bool Update(FormCollection collection)
$(document).ready(function () {
$('#btnUpdate').click(function (e) {
// Cancel default action
e.preventDefault();
$.ajax({
cache: false,
type: 'POST',
url: '@Url.Action("Action", "Controller")',
data: $('#formId').serialize(),
success: function (data) {
alert(data);
},
error: function (xhr, ajaxOptions, thrownError) {
alert('Error during process: \n' + xhr.responseText);
}
});
});
});
一切正常。我在传递 2 参数时做错了什么?
谢谢!!!