0

GET フォームにドロップダウン メニューがあります。ユーザーが送信を押すと、同じページにリダイレクトされ、フォームが再度表示されます。ユーザーが最後のページに表示されたドロップダウンオプションを既に選択したいと思います。たとえば、次のようになります。

 @Html.DropDownList("Type", null, "Type", new { @class = "sbox-input" } )

website.com/Search?Type="ビーフ"

<select name="Type">
   <option value="Fish" >Fish</option>
   <option value="Chicken" >Chicken</option>
   <option value="Beef" selected="selected">Beef</option>
</select>

jQuery ソリューションも同様に機能します。

4

1 に答える 1

1

typeアクションにパラメーターがある限り、これを行うためにJavaScriptは必要ないと思います。次のようなものがあるとします。

public ActionResult Search(string type, [other parameters])
{
    ....
    ViewBag.SearchType = type; // put the selected type to the ViewBag
}

SelectListselectedValueコンストラクターの 4 番目のパラメーターとして受け取るためDropDownList、選択した値を使用してビューで簡単に作成できます。

@Html.DropDownList("Type", new SelectList(new Dictionary<string, string> { { "Fish", "Fish" }, { "Chicken", "Chicken" }, { "Beef", "Beef" } }, "Key", "Value", ViewBag.SearchType))

もちろんSelectList、アクションで を作成してビューに渡すこともできます。

public ActionResult Search(string type, [other parameters])
{
    ....
    ViewBag.SearchTypeList = new SelectList(new Dictionary<string, string> { { "Fish", "Fish" }, { "Chicken", "Chicken" }, { "Beef", "Beef" } }, "Key", "Value", type); // you can assign this to the property of your ViewModel if you have one
}

そしてビューで

@Html.DropDownList("Type", ViewBag.SearchTypeList)
于 2012-12-17T11:01:23.720 に答える