在aspx文件中我有: = Html.DropDownList(“SiteID”,ViewData [“Sites”]作为SelectList)
在cs文件中我有:
ViewData [“Sites”] =新的SelectList(pr.GetUnassignedPortfolioSites(GetAuthenticatedContext(),id),“SiteID”,“SiteName”);
但是,我需要对SelectList进行排序,以便在选择下拉菜单时对其进行精心排序。
此外,我需要从列表中选择一个项目,并在点击下拉菜单之前显示第一个项目。
非常感谢你的帮助!
PS我试过看其他例子,但没有运气。
答案 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;