首页 >后端开发 >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