在ASP.NET中对HTML下拉菜单(SelectList)进行排序,C#

时间:2013-05-03 14:05:03

标签: c# asp.net sorting drop-down-menu selectlist

在aspx文件中我有: = Html.DropDownList(“SiteID”,ViewData [“Sites”]作为SelectList)

在cs文件中我有:

ViewData [“Sites”] =新的SelectList(pr.GetUnassignedPortfolioSites(GetAuthenticatedContext(),id),“SiteID”,“SiteName”);

但是,我需要对SelectList进行排序,以便在选择下拉菜单时对其进行精心排序。

此外,我需要从列表中选择一个项目,并在点击下拉菜单之前显示第一个项目。

非常感谢你的帮助!

PS我试过看其他例子,但没有运气。

1 个答案:

答案 0 :(得分:0)

我稍微改了一下,看起来SelectList有一些问题需要设置默认的选定项目。

看看这个:

@{
  List<SelectListItem> list = (List<SelectListItem>)ViewData["Sites"];
  list.Where(x => x.Value == "1").Single().Selected = true;
}
@Html.DropDownList("SiteID", list.OrderBy(x => x.Selected).ThenBy(x => x.Text))

控制器:

        List<SelectListItem> items = new List<SelectListItem>();

        items.Add(new SelectListItem { Text = "Action", Value = "0" });

        items.Add(new SelectListItem { Text = "Drama", Value = "1" });

        items.Add(new SelectListItem { Text = "Comedy", Value = "2" });

        items.Add(new SelectListItem { Text = "Science Fiction", Value = "3" });

        ViewData["Sites"] = items;