7

我正在尝试理解 c# ASP.NET MVC4 并不断遇到SelectList. 我似乎无法找到它是什么的解释,除此之外:

http://msdn.microsoft.com/en-us/library/system.web.mvc.selectlist%28v=vs.108%29.aspx

谁能给它一个简单的解释,并展示如何使用它?

4

3 回答 3

7

我在 asp.net mvc 中有一个用于下拉列表的简单代码:

Controller

   List<SelectListItem> dropdownItems = new List<SelectListItem>();
   dropdownItems.AddRange(new[]{
                            new SelectListItem() { Text = "Option One", Value = "1" },
                            new SelectListItem() { Text = "Option Two", Value = "2" },
                            new SelectListItem() { Text = "Option Three", Value = "3" }});
   ViewData.Add("DropDownItems", dropdownItems);

并且,cshtml鉴于:

@Html.DropDownList("Types", ViewData["DropDownItems"] as List<SelectListItem>)
@Html.ValidationMessageFor(model => model.Types)
于 2013-08-06T13:11:04.553 回答
3

SelectList类,其中包含 Key、Value 对,且 Selected 项为 True。

例如,

listItems.Add(new SelectListItem
                {
                    Text = xElement.Element("text").Value,
                    Value = xElement.Element("value").Value
                });

var selected = listItems.Where(x => x.Value == "Test1").First();
selected.Selected = true;

此示例有助于在dropdownlist中获取所选值。

于 2013-08-06T13:18:20.030 回答
1

在 ASP.NET MVC 中使用下拉列表有一些令人困惑的方面,这就是您找到一些帮助开发人员使用这个流行对象的类的原因。

我认为有一篇很棒的博客文章清楚地描述了 SelectList。

http://odetocode.com/Blogs/scott/archive/2010/01/18/drop-down-lists-and-asp-net-mvc.aspx

于 2013-08-06T14:18:26.660 回答