Asp.net mvc 获取MVC4中dropdownlist的值

Asp.net mvc 获取MVC4中dropdownlist的值,asp.net-mvc,Asp.net Mvc,我是MVC新手告诉我如何在controller中检索所选的dropdownlist值 这就是我向dropdownlist添加值的方式 List<SelectListItem> items = new List<SelectListItem>(); items.Add(new SelectListItem { Text = "What is your Place of Birth?", Value = "What is your Place of B

我是MVC新手告诉我如何在controller中检索所选的dropdownlist值 这就是我向dropdownlist添加值的方式

List<SelectListItem> items = new List<SelectListItem>();
            items.Add(new SelectListItem { Text = "What is your Place of Birth?", Value = "What is your Place of Birth?" });
            items.Add(new SelectListItem { Text = "What is your favourite Book?", Value = "What is your favourite Book?" });
            items.Add(new SelectListItem { Text = "What is your childhood friend name?", Value = "What is your childhood friend name?" });
            items.Add(new SelectListItem { Text = "What is your first car make and model?", Value = "What is your first car make and model?" });
            items.Add(new SelectListItem { Text = "What is your favourite place?", Value = "What is your favourite place?" });
            ViewData["ddlitems"] = items;

在模型上,为值设置一个属性:

class ModelClass
{
    public string DropdownValue{get; set;}
}
然后使用以下Razor语法

@Html.DropdownListFor(m => m.DropdownValue, "ddItems");

这将创建一个名为“与模型属性相同”的下拉列表,它将自动使用模型发回。获取所选选项值的最简单方法就是将元素的ID与正在发布到
ActionResult
的ID相匹配。因此,如果您的
select
元素呈现为

<select id="SomeID">
    <option value="What is your Place of Birth?">What is your Place of Birth?</option>
</select>
在您的情况下,这可能是最简单的选择,因为您没有传递到
视图中的强类型对象。还请注意,这将适用于您发布的任何表单元素。只需将ID与
ActionResult
上的参数匹配即可


为了进一步了解这一点,您可能最好阅读关于

为每个项目指定一个值,并在模型中添加相同的值(使用相同的名称)。MVC框架将自动为您检索值。可能重复:
<select id="SomeID">
    <option value="What is your Place of Birth?">What is your Place of Birth?</option>
</select>
[HttpPost]
public ActionResult MyActionResult(string SomeID){
    // SomeID = What is your Place of Birth?
    Return View();
}