使用html帮助器使用字典值填充下拉列表

时间:2014-02-24 08:01:02

标签: asp.net-mvc asp.net-mvc-4 razor html-helper

我创建一个字典并使用枚举值设置它。我想使用Html.DropdownlistFor填充下拉列表。这是我的行动:

 public ActionResult Index()
 {
     Dictionary<string, string> TagsDictionary = new Dictionary<string, string>();
     Enum.GetNames(typeof(System.Tags)).ToList().ForEach(x => TagsDictionary.Add(x, Resources.PageResources.ResourceManager.GetString(String.Format("Tags_{0}", x))));           
     return View(TagsDictionary);
 }

但我不知道如何编写View以在页面加载时获取下拉列表中的字典值

1 个答案:

答案 0 :(得分:1)

使用SelectListItem

public ActionResult Index()
{
    List<SelectListItem> tagsList = new List<SelectListItem>();
    Enum.GetNames(typeof(System.Tags)).ToList()
        .ForEach(x => tagsList .Add(new SelectListItem(){Value = x, Text = Resources.PageResources.ResourceManager.GetString(String.Format("Tags_{0}", x))}));
    return View(tagsList );
}    

在您看来,您可以致电:

@Html.DropDownList("Tags List", Model)