0

我想知道如何使用剃刀从 MVC 4 应用程序提交特定的表单值。

我有以下问题。

2 下拉列表。第一个是使用列出一组类型的模型数据填充到控制器中(第一次自动选择默认值)。第二个由类型对象填充(如果回发来自第一个下拉列表,则自动选择第一个)。

我想做的就是这个。如果第一个下拉列表正在执行回发,我只想发布第一个列表的选定值,并且 dropDownList2 为 0。

如果第二个下拉列表导致回发,我想要两个值。

public ActionResult Index(int dropDownList1 = 0, int dropDownList2 = 0)
{
   // Get data for the dropdown lists
}

这是视图文件

<p>
@Html.ActionLink("Create New", "Create")
@using (Html.BeginForm("Index","EditItems",FormMethod.Get)){     
     <p>Γονείς τύπων: @Html.DropDownList("dropDownList1") </p> 
     <p>Τύποι σχολείων: @Html.DropDownList("dropDownList2")  </p> 
    } 
</p>

@section Scripts {
    <script type='text/javascript'\>
        $("#parentUnit").change(function () {
            $(this).parents('form').submit();
        });

        $('#childUnit').change(function () {
            $(this).parents('form').submit();
        });
    </script>
}

提前致谢

4

2 回答 2

2

在正常的发布情况下,您不能提交特定的值。将提交所有表单字段。没有办法阻止这种情况。

但是,您可以做的是以下三件事之一:

1)您可以使用javascript更改各个字段以清除您不想发送的字段,并在您要发送的字段中设置正确的值。

2)可以使用Ajax发布,然后可以控制发布哪些数据。

3)您可以有几个隐藏的表单,当用户单击提交时,您可以使用 javascript 将您想要提交的值复制到仅包含这些字段的表单,然后通过 javascript 提交该表单。

于 2013-03-26T14:38:54.403 回答
0

<!DOCTYPE html>
<html>
<body>

<form action="demo_form.asp" method="get">
  First name: <input type="text" name="fname"><br>
  Last name: <input type="text" name="lname"><br>
  <button type="submit">Submit</button><br>
  <button type="submit" formaction="demo_admin.asp">Submit as admin</button>
</form>

<p><strong>Note:</strong> The formaction attribute of the button tag is not supported in Internet Explorer 9 and earlier versions.</p>

</body>
</html>

>

于 2015-05-25T08:12:00.920 回答