在一个视图上提交带有多个字段集的按钮

时间:2012-08-28 12:32:57

标签: asp.net-mvc-3 submit http-post fieldset

我有一个观点,其最终目标是成为用户创建表单。它的结构如下:

<fieldset>
@Html.DropDownList("first dropdown")
</fieldset>

<fieldset id="exists">
@Html.DropDownList("seconddropdown")
@Html.DropDownList("third dropdown")
@Html.DropDownList("fourth dropdown")
<input type="submit" value="Create User"/>
</fieldset>

<fieldset id="new">
@Html.DropDownList("dropdown")
@Html.DropDownList("dropdown")
@Html.DropDownList("dropdown")
<input type="submit" value="Create User"/>
</fieldset>

<script>
//script here shows and hides fieldsets depending on value chosen in first dropdown
</script>

取决于第一个下拉列表中选择的值,可以存在字段集,也可以显示字段集new。它们都以不同的方式与数据库交互,所以我真的需要能够分别为每个数据库处理提交操作。我尝试在每个字段集中创建一个提交,但控制器操作永远不会被命中。

我显然错过了MVC提交按钮的标记,所以任何人都可以帮助我理解这些工作方式以及如何在一个视图上创建多个(和单独的)提交可能性。

非常感谢

1 个答案:

答案 0 :(得分:1)

您可以有两个表单,每个表单发布到不同的操作...然后,提交只会以该表单提交表单值...

e.g。

@using (Html.BeginForm("Login", "Account", FormMethod.Post))
{
    <fieldset id="exists">
@Html.DropDownList("seconddropdown")
@Html.DropDownList("third dropdown")
@Html.DropDownList("fourth dropdown")
<input type="submit" value="Log in"/>
</fieldset>
}

@using (Html.BeginForm("Create", "Account", FormMethod.Post))
{
<fieldset id="new">
@Html.DropDownList("dropdown")
@Html.DropDownList("dropdown")
@Html.DropDownList("dropdown")
<input type="submit" value="Create"/>
</fieldset>
}