🔹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