0

MVC4 を使用して、ユーザーが選択できる値を含むドロップダウン リストを作成しました。次に、その値を渡したい 2 つの異なるアクションがあります。可能であれば、どうすればこれを達成できますか?

意見:

@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
}

現時点では、コードによって最初のフォームのドロップダウンに値を渡すことができますが、それを 2 番目のフォームに含めるにはどうすればよいでしょうか? @Html.HiddenFor の使用を伴う可能性がありますか? ドロップダウン リストを複製したくありません。

4

1 に答える 1

3

jQuery を使用すると、すべてのことが可能になります。

前述のように、2 番目のフォームに隠しフィールドを追加します。次に、jQuery スクリプトを追加して、ドロップダウンが変更されるたびにそのフィールドを更新します。重複しないように項目名を更新する必要がありますが、それ以外は既存のコードが機能します。

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