首頁 >後端開發 >C++ >如何在 ASP.NET MVC 控制器中擷取 DropDownList 的選取值?

如何在 ASP.NET MVC 控制器中擷取 DropDownList 的選取值?

Barbara Streisand
Barbara Streisand原創
2025-01-14 08:03:43561瀏覽

How to Retrieve a DropDownList's Selected Value in an ASP.NET MVC Controller?

在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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn