ASP.NET MVC コントローラーの DropDownList の選択された値を取得します
ASP.NET MVC 開発では、ユーザーの選択に基づいてデータ処理と検証を実行するために、コントローラー内の DropDownList の選択された値を取得することが必要になることがよくあります。この記事では 2 つの方法を紹介します:
方法 1: リクエストまたは FormCollection を使用する
このメソッドは、選択された値を HTTP リクエストから直接取得します。ドロップダウンの名前 (ddlVendor) に応じて、次のコード スニペットのいずれかを使用します:
string strDDLValue = Request.Form["ddlVendor"].ToString();
[HttpPost] public ActionResult ShowAllMobileDetails(MobileViewModel MV, FormCollection form) { string strDDLValue = form["ddlVendor"].ToString(); return View(MV); }
方法 2: モデル バインディングによる
モデル バインディングを使用するには、選択した値を保存する属性をモデルに追加する必要があります:
public class MobileViewModel { ... public string SelectedVendor { get; set; } }
ビューで、次のプロパティを使用するように DropDownList を更新します:
@Html.DropDownListFor(m=>m.SelectedVendor , Model.Vendor, "Select Manufacurer")
HttpPost 操作では、選択された値が自動的にモデルにバインドされ、コントローラーでアクセスされます。
[HttpPost] public ActionResult ShowAllMobileDetails(MobileViewModel MV) { string SelectedValue = MV.SelectedVendor; return View(MV); }
更新: 選択したアイテムのテキストを取得します
選択した項目の値ではなくテキストを取得する必要がある場合は、非表示フィールドを追加し、JavaScript を使用してドロップダウン リストの選択に基づいて値を更新できます。
public class MobileViewModel { ... public string SelectedvendorText { get; set; } } ...
@Html.DropDownListFor(m=>m.SelectedVendor , Model.Vendor, "Select Manufacurer") @Html.HiddenFor(m=>m.SelectedvendorText) ...
$("#SelectedVendor").on("change", function() { $(this).text(); });
以上がASP.NET MVC コントローラーで DropDownList の選択された値を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。