【问题标题】:What is the SelectList class in c#? [closed]c# 中的 SelectList 类是什么? [关闭]
【发布时间】:2017-11-28 12:11:42
【问题描述】:

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

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

谁能简单解释一下,并说明如何使用?

【问题讨论】:

标签: c# asp.net-mvc selectlist


【解决方案1】:

我在 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)

【讨论】:

  • 谢谢,你的意思是 dropdownItems 与 SelectList 类型的对象很相似吗?此外,大多数答案和 cmets 实际上并没有提到 selectList 类 - 这是否意味着它没有被太多使用,我通常只会使用 selectListItem 的列表?
  • 是的,SelectListItem 是 System.Web.Mvc.SelectList 的类型。
【解决方案2】:

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 中获取所选值。

【讨论】:

    【解决方案3】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2019-01-25
      • 2020-05-19
      • 1970-01-01
      • 2012-12-06
      • 2011-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多