【发布时间】:2013-08-09 05:16:48
【问题描述】:
我真的很好奇。是否可以让 jQuery Ajax 发布操作将整个表单数据(无论是否序列化)发送到 MVC 4 方法,该方法具有与表单输入 ID 同名的特定参数,同时排除不匹配的元素?
MVC 4 控制器方法
[HttpPost]
public JsonResult DoWork(string companyName, string firstName, string lastName, string email)
{
//.. do stuff and return result...
}
HTML
<form id="MyForm" method="post">
<input id="CompanyName" name="CompanyName" type="text"/>
<input id="FirstName" name="FirstName" type="text"/>
<input id="LastName" name="LastName" type="text"/>
<input id="Email" name="Email" type="text"/>
<input id="Var1" name="Var1" type="text"/>
<input id="Var2" name="Var2" type="text"/>
</form>
jQuery Ajax
$.ajax({
type: 'post',
dataType: 'html',
url: '/Controller/DoWork',
data: $('#MyForm').serialize()
});
如果不可能开箱即用,有没有人有一些基本的想法可以让我研究如何实现这一点?我想让某人“更难”弄清楚我的方法调用,而不给他们提供使方法工作所需的确切参数名称和值。
【问题讨论】:
-
您能否对您所说的部分更具体一点:“同时排除不匹配的元素”?
-
如果您注意到 html 中有两个名为 Var1 和 Var2 的额外输入。这些在调用控制器方法时不会得到“处理”,因为没有同名的参数。
标签: c# jquery ajax asp.net-mvc-4