Auffüllen einer Razor-Dropdownliste aus einer Liste
Um eine Dropdown-Liste mit Daten aus einem List
Ansichtsmodell erstellen
Erstellen Sie ein Ansichtsmodell mit den erforderlichen Eigenschaften um die Dropdown-Liste zu steuern, z. B. eine Eigenschaft für den ausgewählten Wert und eine Liste von anzuzeigenden Elementen. In diesem Fall nennen wir es UserRoleViewModel.
DropDownList-Daten vorbereiten
Konstruieren Sie in Ihrem Controller eine Methode zum Abrufen der Daten für Ihre Dropdownlist. Bei dieser Methode können Sie die Daten aus der Liste List
Verwenden des Ansichtsmodells in der Ansicht
Verwenden Sie Ihrer Ansicht nach die @model-Direktive, um auf das UserRoleViewModel zuzugreifen. Verwenden Sie dann die Razor-Helfer LabelFor und DropDownListFor, um die Dropdownliste und ihre Beschriftung zu rendern. Der DropDownListFor-Helfer füllt die Dropdown-Liste automatisch mit der im Ansichtsmodell definierten UserRoles-Sammlung.
Beispielimplementierung
Hier ist eine Beispielimplementierung für das Ansichtsmodell, den Controller und Ansicht:
ViewModel:
public class UserRoleViewModel { public int SelectedUserRoleId { get; set; } public IEnumerable<SelectListItem> UserRoles { get; set; } }
Controller:
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); }
Ansicht:
@model UserRoleViewModel @Html.LabelFor(m => m.SelectedUserRoleId) @Html.DropDownListFor(m => m.SelectedUserRoleId, Model.UserRoles)
Mit diesem Ansatz können Sie eine Dropdown-Liste effektiv mit Daten aus einem füllen Liste
Das obige ist der detaillierte Inhalt vonWie fülle ich eine Razor DropdownList aus einer Liste in MVC?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!