Heim > Backend-Entwicklung > C++ > Wie fülle ich eine Razor DropdownList aus einer Liste in MVC?

Wie fülle ich eine Razor DropdownList aus einer Liste in MVC?

Barbara Streisand
Freigeben: 2025-01-05 04:37:43
Original
756 Leute haben es durchsucht

How to Populate a Razor DropdownList from a List in MVC?

Auffüllen einer Razor-Dropdownliste aus einer Liste in MVC

Um eine Dropdown-Liste mit Daten aus einem List zu füllen In MVC können Sie ein Ansichtsmodell verwenden und Ihre Daten in ein Format umwandeln, das den Anforderungen der Dropdown-Liste entspricht.

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 in SelectListItem-Objekte. Die SelectListItem-Klasse stellt die notwendigen Eigenschaften sowohl für den Wert des Elements als auch für die Textdarstellung bereit, und die SelectList-Klasse stellt eine hierarchische Struktur für Ihre Dropdown-Listendaten bereit.

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; }
}
Nach dem Login kopieren

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);
}
Nach dem Login kopieren

Ansicht:

@model UserRoleViewModel

@Html.LabelFor(m => m.SelectedUserRoleId)
@Html.DropDownListFor(m => m.SelectedUserRoleId, Model.UserRoles)
Nach dem Login kopieren

Mit diesem Ansatz können Sie eine Dropdown-Liste effektiv mit Daten aus einem füllen Liste in MVC und bietet eine saubere und intuitive Benutzeroberfläche für die Auswahl von Werten.

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage