Te recomendamos que pruebes esta solución en un ambiente controlado antes de pasarlo a producción, un saludo.
Solución:
Podrías intentar esto:
@Html.DropDownList("country", new SelectList(ViewBag.countries), "-select- ", new @class="chzn-select", @style="width:160px;" )
En su colección ViewBag.Countries simplemente inserte un registro ficticio al inicio de la colección con el nombre “-select-“. Debería poder forzar el elemento seleccionado con un constructor alternativo como este:
@Html.DropDownList("country",
new SelectList(ViewBag.countries as System.Collections.IEnumerable,
"name", "name", "-select-"), new @class="chzn-select", @style="width:160px;" )
Una solución rápida y (no tan) sucia que implica jQuery.
En lugar de agregar un elemento ficticio al comienzo de la lista, anteponga una nueva opción que esté deshabilitada. La principal ventaja es que no tienes que meterte con un elemento ficticio en tu listay lo más importante, no podrá seleccionar ese elemento ficticio en la página:
@Html.DropDownList("yourName", yourSelectList, new @class = "form-control select-add-placeholder" )
Luego, en algún lugar después de:
$(".select-add-placeholder").prepend("");
Que se parece a:
¡Haz clic para puntuar esta entrada!
(Votos: 1 Promedio: 5)