「送信」ボタンがクリックされたときに呼び出されるjQuery関数があります。
function SubmitForm() {
var idList = [];
var list = $('#TableAdminPortfolio .CheckBoxProjects');
list.each(function () {
var id = $(this).closest('td').children('.hiddenId').val(); // parseInt()
idList.push(id);
});
$.ajax({
url: $(this).href,
type: 'POST',
data: idList,
success: function (result) {alert('Successful');},
error: function (result) {alert('Error');}
});
}
私のコントローラーは次のようになります:
[Transaction]
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Index(IEnumerable<int> projects)
{
...
}
パラメータ(プロジェクト)は常にnullです。私はjQueryコードをステップスルーして、各ステップでそれを検査しました。idListは確実に入力されています。私も$ajaxを次のように試しました:
$.ajax({
url: $(this).href,
type: 'POST',
data: { projects : idList },
success: function (result) {alert('Successful');},
error: function (result) {alert('Error');}
});
そして、それでも同じ結果。何が起こっているのかアイデアはありますか?はい、フォーム投稿ではなくAjax投稿を行う理由があります。
TIA
注:jQueryv1.6.4とASP.NETMVC2.0を使用しています。