在ASP.NET MVC控制器中取得DropDownList的選取值
在ASP.NET MVC開發中,經常需要在控制器中取得DropDownList的選取值,以便根據使用者的選擇進行資料處理和驗證。本文介紹兩種方法:
方法一:透過Request或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>
方法二:透過模型綁定
使用模型綁定,需要在模型中加入一個屬性來儲存選取的值:
<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中文網其他相關文章!