use@html.dropdownlistfor untuk menetapkan nilai sederhana array dalam ASP.NET MVC 5 dalam ASP.NET MVC 5
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<code class="language-csharp">@model MyProject.Web.API.Models.AggregationLevelConfViewModel @Html.DropDownListFor(m => m.Configurations[0].HelperCodeType, (SelectList)Model.HelperCodeTypeItems, new { id = "Configurations[0].HelperCodeType" })</code>
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
<code class="language-csharp">@model yourAssembly.AggregationLevelConfiguration @Html.DropDownListFor(m => m.HelperCodeType, (SelectList)ViewData["CodeTypeItems"])</code>
additionalViewData
set SelectList
bukan
<code class="language-csharp">@using (Html.BeginForm()) { ... @Html.EditorFor(m => m.Configurations , new { CodeTypeItems = Model.CodeTypeItems }) ... }</code>
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!