0

使用 MVC4,我有一个下拉列表,其中包含用户可以选择的值。然后我有两个不同的动作,我想将该值传递给。如果可能的话,我该如何做到这一点?

看法:

@using (Html.BeginForm("Action1", "Controller", FormMethod.Post, new FormCollection()))
{
   @Html.DropDownList("Item", Model.GetListValues(Model.Items))
   <input type="submit" value="Goto Action1">
}

@using (Html.BeginForm("Action2", "Controller", FormMethod.Post, new FormCollection()))
{
   <input type="submit" value="Goto Action2">
}

控制器:

public Task<ActionResult> Action1(string item)
{
  //logic
}

public Task<ActionResult> Action2(string item)
{
  //logic
}

现在,代码将允许我在第一个表单的下拉列表中传递值,但是如何将它包含在第二个表单中?它可能涉及使用@Html.HiddenFor 吗?我不想复制下拉列表。

4

1 回答 1

3

有了 jQuery,一切皆有可能。

正如您所提到的,在您的第二个表单中添加一个隐藏字段。然后,添加一个 jQuery 脚本以在下拉列表更改时更新该字段。您需要更新您的项目名称,以免它们重复,但除此之外,您现有的代码将起作用。

$("#ItemDropdown").change(function () {
    $("#ItemHidden").val($("#ItemDropdown").val());
});
于 2013-04-25T17:00:38.713 回答