Dalam aplikasi ASP.NET MVC 5, kaedah bantu boleh digunakan untuk menghasilkan senarai drop -down dari set data. Walau bagaimanapun, apabila memproses struktur data kompleks (seperti array), menetapkan nilai pemilihan mengikut atribut dalam array boleh membawa cabaran.
Pertimbangkan ViewModel berikut:
@Html.DropDownListFor()
objek
dalam array@model MyProject.Web.API.Models.AggregationLevelConfViewModel @Html.DropDownListFor(m => m.Configurations[0].HelperCodeType, (SelectList)Model.HelperCodeTypeItems, new { id = "Configurations[0].HelperCodeType" })
Kaedah konvensional untuk menetapkan nilai pemilihan dalam pembina tidak sah, kerana nilai pemilihan yang tidak tersedia dalam koleksi Configurations
. AggregationLevelConfiguration
HelperCodeType
<决> Penyelesaian: SelectList
HelperCodeTypeItems
Buat templat editor dalam <创>:
Kemudian, dalam pandangan utama, gunakan untuk lulus
ke templat editor:
/Views/Shared/EditorTemplates/AggregationLevelConfiguration.cshtml
@model yourAssembly.AggregationLevelConfiguration @Html.DropDownListFor(m => m.HelperCodeType, (SelectList)ViewData["CodeTypeItems"])
additionalViewData
set <为> SelectList
bukan
@using (Html.BeginForm()) { ... @Html.EditorFor(m => m.Configurations , new { CodeTypeItems = Model.CodeTypeItems }) ... }
Sila ambil perhatian bahawa atribut dihasilkan secara automatik oleh tanpa spesifikasi manual.
Atas ialah kandungan terperinci Bagaimana cara menetapkan nilai yang dipilih dalam @html.dropdownlistfor apabila nilai dalam array?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!