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つのパラメータを渡す際に何が間違っていますか?
THX!!!