我想使用jQuery提交表单并将其提交给控制器操作进行处理,以包含所有模型属性,这可能吗?
答案 0 :(得分:4)
使用声明的FormCollection创建Controller Action。然后只需调用UpdateModel,它将表单属性映射到您的对象。
public ActionResult MyAction(FormCollection form)
{
MyDomainObject a = //possibly get from repository
try
{
UpdateModel(a);
...
您的观点
<form id='my-form' action='post' method='/MyController/MyAction'>
//form elements
</form>
这里有一些javascript。
$(document).ready(function()
{
var f = $('my-form');
var action = f.attr('action');
var serializedForm = f.serialize();
$.post
(
action,
serializedForm,
function()
{
//anything after the form submit
}
);
}
答案 1 :(得分:2)
如果您想将自己的复杂模型直接从jQuery传递到控制器方法,请查看this question。
答案 2 :(得分:0)
您的意思是想要发送附加信息以及表单中的信息吗?
如果是这样,我只需动态创建<input type="hidden">
元素,然后在提交之前将它们附加到表单中。