【发布时间】:2016-03-22 06:27:41
【问题描述】:
$.ajax({
type: 'POST',
url: '@Url.Action("AccountUpdate", "Customer")',
async: false,
data: { a:"ed", formCollection: $("#form1").serialize() }
});
控制器:-
public void AccountUpdate(string a, FormCollection formCollection) {}
问题:- 在控制器 AccountUpdate 中,我得到参数 a ="ed",这很好。 但是在 FormCollection 对象中,我得到了 formCollection 对象 以及 'a' 对象 为什么表单集合对象接收“a”对象?它应该只是 formCollection 对象
【问题讨论】:
-
因为你的参数是 typeof
FormCollection是所有提交数据的集合。将其替换为YourModel formCollection其中YourModel是您在视图中使用的模型。 -
所以我将控制器的参数更改为 public void AccountUpdate(string a, Customer formCollection) {} Ajax 没有变化,现在我在 formCollection 中得到 null ?
-
另外我读到的是 formCollection 只包含那些在 form 范围内的元素,“a”没有在 form 范围内定义
-
因为您的 ajax
data选项不正确。首先使用data: $("#form1").serialize(),确保您的模型正确绑定,然后我将向您展示如何发回附加参数 -
我以前只使用 data: $("#form1").serialize() 时这样做过,效果很好
标签: jquery asp.net-mvc