🔹asp-items
asp-items="Model.Numeros"
vincula la lista de SelectListItem
con el <select>
, creando opciones para cada elemento de la lista.Se añade una opción vacía como valor predeterminado, con el texto "Seleccione un número".Para usar SelectListItem
, es posible que necesites agregar la referencia a Microsoft.AspNetCore.Mvc.Rendering
.
La clase SelectListItem
tiene varias propiedades que definen las características de las opciones del elemento <select>
:
Text: El texto que se muestra para la opción en la interfaz de usuario.
Value: El valor que se envía al servidor cuando se selecciona esa opción.
Selected: Un booleano que indica si la opción debe estar seleccionada cuando se renderiza la vista.
Disabled: Un booleano que indica si la opción está deshabilitada.
Group: Permite agrupar opciones relacionadas dentro del elemento <select>
, similar a la etiqueta <optgroup>
en HTML.


Podemos asi sacar diferentes tipos de elementos, pero hay un matiz con los ENUMS.
Directamente, los ENUMs no se pueden utilizar con el Tag Helper asp-items
para generar elementos <select>
debido a su naturaleza de tipo fuertemente tipado.
🔹Método Html.GetEnumSelectList
:Para incluir un ENUM en un elemento <select>
en una vista Razor, es necesario convertirlo a una lista que pueda ser entendida por asp-items
. Esto se logra con el método Html.GetEnumSelectList<TEnum>()
.
public enum EstadoUsuario
{
Activo,
Inactivo,
Pendiente
}
////////////////////
public class UsuarioModel : PageModel
{
public EstadoUsuario EstadoSeleccionado { get; set; }
// Otros propiedades y métodos...
}
///////////////////
<select asp-for="EstadoSeleccionado" asp-items="Html.GetEnumSelectList<EstadoUsuario>()"></select>
Última actualización