Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk mengikat senarai pekerja ke pembantu tag pilih di ASP.NET Core MVC?

Bagaimana untuk mengikat senarai pekerja ke pembantu tag pilih di ASP.NET Core MVC?

Barbara Streisand
Barbara Streisandasal
2025-01-28 21:06:09796semak imbas

How to Bind a List of Employees to a Select Tag Helper in ASP.NET Core MVC?

Asp.net Core MVC Pilih Tag Helper: Mengikat Senarai Pekerja

Panduan ini menunjukkan bagaimana untuk mengikat senarai pekerja dengan berkesan kepada penolong tag pilih dalam ASP.NET Core MVC, memastikan nilai yang dipilih dengan betul memetakan ke harta

. EmployeeId

Lihat Struktur Model:

mari kita anggap model pandangan anda berstruktur seperti berikut:

<code class="language-csharp">public class MyViewModel
{
    public int EmployeeId { get; set; }
    public string Comments { get; set; }
    public List<Employee> EmployeesList { get; set; }
}

public class Employee
{
    public int Id { get; set; }
    public string FullName { get; set; }
}</code>
memaparkan senarai pilih:

Kunci adalah untuk membuat objek

dari

anda dan gunakannya dalam pandangan anda. Berikut adalah cara anda boleh melakukannya dalam tindakan pengawal anda: SelectList EmployeesList

dan pada pandangan anda:
<code class="language-csharp">public IActionResult Create()
{
    var vm = new MyViewModel();
    vm.EmployeesList = new List<Employee>
    {
        new Employee { Id = 1, FullName = "Shyju" },
        new Employee { Id = 2, FullName = "Bryan" }
    };
    return View(vm);
}</code>

ini dengan ringkas mengikat
<code class="language-html"><select asp-for="EmployeeId" asp-items="@new SelectList(Model.EmployeesList, \"Id\", \"FullName\")"></select></code>
ke harta

, memaparkan SelectList sebagai teks pilihan dan menggunakan EmployeeId sebagai nilai. FullName Id

Pra-memilih pekerja:

untuk memilih pekerja, tetapkan harta dalam model pandangan anda sebelum menyampaikannya kepada pandangan:

EmployeeId

alternatif: menggunakan beg viewbag (kurang disyorkan):
<code class="language-csharp">public IActionResult Create()
{
    var vm = new MyViewModel();
    vm.EmployeesList = new List<Employee> { /* ... your employees ... */ };
    vm.EmployeeId = 2; // Pre-selects Bryan
    return View(vm);
}</code>

Walaupun mungkin, menggunakan umumnya kurang disukai kerana sifat dinamik dan potensi untuk kesilapan. Berikut adalah contoh:

ViewBag

Senario lanjutan:
<code class="language-csharp">// Controller
ViewBag.Employees = new List<SelectListItem>
{
    new SelectListItem { Text = "Shyju", Value = "1" },
    new SelectListItem { Text = "Bryan", Value = "2" }
};

// View
<select asp-for="EmployeeId" asp-items="@ViewBag.Employees"></select></code>

Pelbagai pemilihan:
    Gunakan jenis array atau senarai untuk
  • dalam model pandangan anda untuk membolehkan pelbagai pilihan. EmployeeId pengelompokan:
  • Gunakan harta
  • 's kepada pilihan kumpulan dalam lungsur turun. SelectListItem Group ingat untuk berunding dengan dokumentasi Microsoft rasmi pada pembantu tag pilih untuk ciri dan pilihan yang lebih canggih. Menggunakan pendekatan
  • secara langsung dari model anda biasanya lebih bersih dan lebih selamat daripada menggunakan
.

Atas ialah kandungan terperinci Bagaimana untuk mengikat senarai pekerja ke pembantu tag pilih di ASP.NET Core MVC?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn