Сортировка раскрывающегося меню HTML (SelectList) в ASP.NET, C #

В файле aspx у меня есть: = Html.DropDownList ("SiteID", ViewData ["Sites"] как SelectList)

В файле cs у меня есть:

ViewData ["Сайты"] = новый список выбора (pr.GetUnassignedPortfolioSites (GetAuthenticatedContext (), id), "SiteID", "SiteName");

Это работает, однако мне нужно отсортировать SelectList, чтобы он был хорошо отсортирован при выборе раскрывающегося меню.

Кроме того, мне нужно будет выбрать один элемент из списка и сделать его видимым первым до того, как будет щелкнуть раскрывающееся меню.

Большое спасибо за Вашу помощь!

PS Я пробовал просматривать другие примеры, но безуспешно.


person 3xCh1_23    schedule 03.05.2013    source источник
comment
Какой из элементов вы хотите выбрать по умолчанию?   -  person Andre Calil    schedule 03.05.2013
comment
Либо из SiteID, либо из SiteName, мне нужно сначала найти его в списке.   -  person 3xCh1_23    schedule 03.05.2013
comment
Есть какие-нибудь отзывы?   -  person Andre Calil    schedule 03.05.2013
comment
Чувак, от тебя ожидается обратная связь по полученным ответам, например, голосование или объяснение того, что еще тебе нужно.   -  person Andre Calil    schedule 06.05.2013


Ответы (1)


Я немного изменил его, похоже, у 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;
person Andre Calil    schedule 03.05.2013
comment
Я хотел бы сообщить о решении проблемы, но кто-то занялся ее решением, и у меня не было времени взглянуть на решение ... Спасибо! - person 3xCh1_23; 13.05.2013