2014-01-19 79 views
1

我有搜索天,找出並找出這個問題的多方向dropdownlist答案。使用MVC和Razor的Dropdownlist

我有以下型號

public class Person() 
{ 
    public int Id { get; set; } 
    public string Name { get; set; } 
    public Gender Gender { get; set; } 
} 

我曾試圖彌補性別作爲一個枚舉,字符串,SelectListItem ......(這樣的例子不勝枚舉!)

在我HTTPGET人Razor視圖我想添加一個新的人,與一個性別列表(男性,女性....)

生成的下拉列表,並且當用戶提交表單時,它會將該人員傳遞給具有更新的性別的HTTPPOST人員視圖連接。

我不介意Gender是什麼類型,只要它可以在控制器之間發佈並查看這兩種方式。

親切的問候

回答

2

這是絕對有可能與標準@Html.DropDownListFor(...)幫手。

但是,在創建視圖時,需要將Enum轉換爲IEnumerable<SelectListItem>才能工作。請參閱this answer以獲取將Enum轉換爲正確類型的幫助器方法示例。

當你在你的代碼這個赫普勒方法,你可以這樣做:

Html.DropDownListFor(m => m.Gender , ListExtensions.ToSelectList(Model.Gender, m => m.Gender)) 
相關問題