/ / Ordenando el menú desplegable HTML (SelectList) en ASP.NET, C # - c #, asp.net, ordenando, menú desplegable, lista de selección

Ordenando el menú desplegable de HTML (Lista de selección) en ASP.NET, C # - c #, asp.net, clasificación, menú desplegable, lista de selección

En el archivo aspx tengo: = Html.DropDownList ("SiteID", ViewData ["Sites"] como SelectList)

En el archivo cs tengo:

ViewData ["Sites"] = new SelectList (pr.GetUnassignedPortfolioSites (GetAuthenticatedContext (), id), "SiteID", "SiteName");

Funciona, sin embargo, necesito ordenar la Lista de selección para que esté bien ordenada cuando se selecciona el menú desplegable.

Además, necesitaría seleccionar un elemento de la lista y hacer que aparezca un primer elemento visible antes de hacer clic en el menú desplegable.

¡Muchas gracias por su ayuda!

PD He intentado mirar a través de otros ejemplos, pero no tuve suerte.

Respuestas

0 para la respuesta № 1

Lo he cambiado un poco, parece que SelectList tiene algunos problemas para establecer el elemento seleccionado por defecto.

Mira este:

@{
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))

Y el controlador:

        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;