2013-08-21 59 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.