jQuery将一个表单及其模型提交给控制器

时间:2009-10-01 18:06:38

标签: jquery asp.net-mvc

我想使用jQuery提交表单并将其提交给控制器操作进行处理,以包含所有模型属性,这可能吗?

3 个答案:

答案 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">元素,然后在提交之前将它们附加到表单中。