Estoy tratando de crear una DropDownList
vista de navaja.
¿Alguien me ayudaría con esto?
Código HTML5 normal:
<select id="dropdowntipo">
<option value="Exemplo1">Exemplo1</option>
<option value="Exemplo2">Exemplo2</option>
<option value="Exemplo3">Exemplo3</option>
</select>
Intenté esto:
@{
var listItems = new List<ListItem> {
new ListItem { Text = "Exemplo1", Value = "Exemplo1" },
new ListItem { Text = "Exemplo2", Value = "Exemplo2" },
new ListItem { Text = "Exemplo3", Value = "Exemplo3" }
};
}
@Html.DropDownListFor(model =>
model.tipo,
new SelectList(listItems),
"-- Select Status --"
)
c#
asp.net-mvc
razor
usuario2232273
fuente
fuente
var listItems = ...
debería estar en su controlador no su punto de vista.ListItem
él, ya que es un concepto vinculado a la interfaz de usuario. Ni siquiera debería estar realmente en el modelo de vista, solo en la vista. El controlador debe construir el modelo de vista, el modelo de vista debe contener los datos, la vista debe construir elementos de la interfaz de usuario (comoListItem
) a esos datos.Respuestas:
fuente
fuente
Puedes usar esto:
fuente
// ViewModel
// Clase de enumeración:
// Acción del controlador
// ver acción
fuente
Aquí está la respuesta más fácil:
desde tu punto de vista solo agrega:
O en su controlador agregue:
y tu vista solo agrega:
Aprendí esto con Jess Chadwick
fuente
Créeme, he probado muchas opciones para hacerlo y tengo una respuesta aquí
pero siempre busco las mejores prácticas y la mejor manera que conozco hasta ahora para los desarrolladores tanto front-end como back-end es
for loop
(sí, no estoy bromeando)Porque cuando el front-end le proporciona las páginas de la interfaz de usuario con datos ficticios, también agrega clases y algunos estilos en línea en una opción de selección específica, por lo que es
hard to deal
con el usoHtmlHelper
Mira esto:
esto del desarrollador front-end, por lo que la mejor solución es usar el bucle for
fristly
create
oget your list
de datos de (...) en la Acción del controlador y ponerlo en ViewModel, ViewBag o lo que seaEn segundo lugar, en la vista, haga este bucle simple para completar la lista desplegable
de esta manera no romperá el diseño de la interfaz de usuario, y es simple, fácil y más legible
Espero que esto te ayude, incluso si no usaste navaja
fuente
Usar una matriz sería un poco más eficiente que crear una lista.
fuente
Consulte: - Crear una lista desplegable en el ejemplo de MVC 4 razor
fuente
solo usa esto
y en Ver uso siguiente.
si desea obtener datos del conjunto de datos y completar estos datos en un cuadro de lista, utilice el siguiente código.
y a la vista escriba el siguiente código.
fuente
Si está usando ASP.net 5 (MVC 6) o posterior, puede usar los nuevos Tag Helpers para una sintaxis muy agradable:
fuente
Esto también se puede hacer como
fuente
fuente