MVC3在一个动作中将多个表单一起发布

时间:2014-01-28 12:08:38

标签: jquery asp.net-mvc asp.net-mvc-3

我认为我有两种形式:

    @using (Html.BeginForm("EditProject", "Projects", FormMethod.Post, new { id = "project_edit_form" }))
    {  
         @Html.Partial("_ProjectPartial", Model.Project })
    }
...other
    @using (Html.BeginForm("EditProject", "Projects", FormMethod.Post, new { id = "sub_project_edit_form" }))
    {    
         @Html.Partial("_SubProjectsPartial", Model.SubProjects)
    }

我想把这两种形式一起发布。

我通过下一个javascript发布这些表单:

$('#project_edit_form, #sub_project_edit_form').submit();

我像这样抓住这个表格:

        [HttpPost]
        public ActionResult EditProject(Project project, List<SubProjects> subProjects)
        {}

之后,我没有null项目,但是项目的字段没有映射,subProjects是maped正确的。如果我从一个表单发布项目和子项目,一切正常。我做错了什么?

1 个答案:

答案 0 :(得分:0)

问题是,您可以在网页上添加多个form元素,但无法嵌套它们。

您可以在W3C html specification

中阅读此内容
  

4.10.3表单元素

     

内容模型:

     

流内容,但没有表单元素后代。