2009-02-03 28 views

Respuesta

123

Lo siguiente antepondrá la cadena. Vacío a la Lista de selección (o IEnumerable) especificada en el elemento ViewData ["Menú"]. La selección tendrá identificación y nombre MenuID.

<%= Html.DropDownList("MenuID", 
         (IEnumerable<SelectListItem>)ViewData["Menu"], 
         string.Empty) %> 

Documentación: DropDownList method

+12

Gracias. El nombre del parámetro de optionLabel para la opción predeterminada me echó :) –

+4

Geez ... yo también estaba empezando a escribir mi propio método de ayuda ... nombre de basura en mi humilde opinión - parece que arrojaría una etiqueta

+1

Small typo: debería leer HerbalMart

-5

La solución que aquí se presenta ha funcionado muy bien para mí: http://forums.asp.net/t/1142484.aspx/1

La idea básica es que se establece la propiedad AppendDataBoundItems de su DropDownList a true y luego poner un asp:ListItem en el DropDownList y se convertirá en su elemento predeterminado con todos los elementos de datos que vendrán después.

+4

'-1' Esto es para formularios web ASP.NET, no MVC. – JoeBrockhaus

0

Esta solución fácil trabajaron para mi proyecto mvc5:

a la vista:

@{ 
    Model.ModelItemsList.Add(new ModelItem{ }); 
    SelectList modelItemSelectList = new SelectList(Model.ModelItemsList, "ModelItemID", "ModelItemName"); 
} 

Sólo añadir un nuevo elemento a la List<> desea mostrar en la vista. En mi caso, agregué un "ModelItem" vacío a mi List<ModelItem> ModelItemList. Dado que mi ModelItemID es un Guid, tuve que comprobar Guid.Empty en mi método de controlador y hacer algo de código. Eso es todo.

6

Por ejemplo:

Controller : 

    private void InitScreenInfoCollate() 
    { 
     IEnumerable<MstBrd> listbrd = ibrandRepository.GetItemsByUsercode(""); 
     ViewBag.Brands = new SelectList(listbrd, "brd_cod", "brd_mei", null); 

    } 

    View : 
    @Html.DropDownList("Brands", null, string.Empty, new { @class = "form-control"}) 

Resultado:

inline image

Cuestiones relacionadas