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