我有一个在单击“提交”按钮时调用的 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)
{
...
}
参数(项目)始终为空。我已经逐步检查了我的 jQuery 代码,每一步都检查它,并且 idList 肯定是填充的。我也尝试过这样的 $ajax:
$.ajax({
url: $(this).href,
type: 'POST',
data: { projects : idList },
success: function (result) {alert('Successful');},
error: function (result) {alert('Error');}
});
仍然是相同的结果。有什么想法吗?是的,我有理由做 Ajax Post 而不是 Form Post。
TIA
注意:我使用的是 jQuery v1.6.4 和 ASP.NET MVC 2.0。