Remplir une liste déroulante Razor à partir d'une liste
Pour remplir une liste déroulante avec les données d'un objet List
Création d'un modèle de vue
Créez un modèle de vue avec les propriétés nécessaires pour piloter la liste déroulante, comme une propriété pour la valeur sélectionnée et une liste d'éléments à afficher. Dans ce cas, nous l'appellerons UserRoleViewModel.
Préparation des données DropDownList
Dans votre contrôleur, construisez une méthode pour récupérer les données de votre liste déroulante. Dans cette méthode, vous pouvez transformer les données du fichier List
Consommation du modèle de vue dans la vue
À votre avis, utilisez la directive @model pour accéder au UserRoleViewModel. Ensuite, utilisez les assistants Razor LabelFor et DropDownListFor pour afficher la liste déroulante et son étiquette. L'assistant DropDownListFor remplira automatiquement la liste déroulante avec la collection UserRoles définie dans le modèle de vue.
Exemple d'implémentation
Voici un exemple d'implémentation pour le modèle de vue, le contrôleur et vue :
ViewModel :
public class UserRoleViewModel { public int SelectedUserRoleId { get; set; } public IEnumerable<SelectListItem> UserRoles { get; set; } }
Contrôleur :
public IEnumerable<SelectListItem> GetRoles() { var dbUserRoles = new DbUserRoles(); var roles = dbUserRoles .GetRoles() .Select(x => new SelectListItem { Value = x.UserRoleId.ToString(), Text = x.UserRole }); return new SelectList(roles, "Value", "Text"); } public ActionResult AddNewUser() { var model = new UserRoleViewModel { UserRoles = GetRoles() }; return View(model); }
Vue :
@model UserRoleViewModel @Html.LabelFor(m => m.SelectedUserRoleId) @Html.DropDownListFor(m => m.SelectedUserRoleId, Model.UserRoles)
En suivant cette approche, vous pouvez remplir efficacement une liste déroulante avec les données d'un Liste
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!