2009-06-02 26 views
49

Estoy construyendo una interfaz de entrada de datos y he vinculado correctamente las columnas que tienen tablas de referencia para sus datos usando DropDownList para que el usuario seleccione entre los valores preconfigurados.Agregue valor vacío a DropDownList en ASP.net MVC

Mi problema ahora es que no quiero que se seleccione el primer valor por defecto, necesito forzar al usuario a seleccionar un valor de la lista para evitar errores donde no eligieron ese campo y de forma predeterminada un valor fue asignado.

¿Hay una forma más elegante de hacerlo que agregar código para incluir un valor vacío en la parte superior de la lista después de obtenerlo de la base de datos y antes de pasarlo al constructor SelectList en mi clase de controlador?

Respuesta

98

La función auxiliar Html toma el parámetro 'primer valor vacío' como tercer argumento.

<%=Html.DropDownList("name",dataSource,"-please select item-")%> 
+0

excelente! Gracias – jvanderh

+0

¡Ah, esto es genial! Estaba buscando los parámetros de objeto 'SelectList' para este – Matt

-9

También puede utilizar de esta manera:

dropdownlist.DataTextField = ds.Tables[0].Columns[0].Caption; 
dropdownlist.DataValueField = ds.Tables[0].Columns[1].Caption; 
dropdownlist.DataSource = ds; 
dropdownlist.DataBind(); 


dropdownlist.Items.Insert(0, new ListItem("Select ...", string.Empty)); 
+0

¡Supongo que la pregunta es sobre asp.net MVC! – tofi9

+0

sí, no aplicable a asp.net MVC – BenB

Cuestiones relacionadas