2013-08-21 58 views
0

我是新来的MVC告诉我怎样可以检索控制器 选择的下拉列表值,这是我怎么添加值下拉列表获得下拉列表的值MVC4

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; 

浏览文件

@Html.DropDownList("ddlitems") 
+0

对每个项目的值,并添加你的模型相同的(同名)。 MVC框架将自动为您检索值。 – ckv

+2

可能的重复:[获取asp.net MVC中dropdownlist的选定值](http://stackoverflow.com/questions/2793585/get-selected-value-of-dropdownlist-in-asp-net-mvc?rq=1 ) – rexcfnghk

回答

0

在模型上,有值的属性:

class ModelClass 
{ 
    public string DropdownValue{get; set;} 
} 

然后使用下面的剃刀语法

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

这将创建一个名为一样的Model属性下拉列表中,它会自动回来后与模型

0

最简单的方式来获得的价值选择的选项只是将元素的ID与发布到ActionResult的元素的ID相匹配。所以如果你的select元素呈现为;

<select id="SomeID"> 
    <option value="What is your Place of Birth?">What is your Place of Birth?</option> 
</select> 

然后你张贴此一ActionResult

[HttpPost] 
public ActionResult MyActionResult(string SomeID){ 
    // SomeID = What is your Place of Birth? 
    Return View(); 
} 

这可能是最简单的选项,你的情况,因为你没有,你正在传递到View一个强类型的对象。另外请注意,这将适用于您发布的任何表单元素。只需使用ActionResult上的参数匹配ID即可。

借此进一步,你很可能是最好的阅读约Model Binding within ASP.Net MVC.