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