asp.net mvc Kaedah tambahan digunakan untuk menghasilkan senarai drop -down untuk atribut dalam model. Apabila atribut model adalah array atau koleksi, senarai drop -down akan dibentangkan kepada setiap item dalam array atau koleksi.
@Html.DropDownListFor
Untuk menetapkan nilai pemilihan nilai dalam array atau koleksi, anda boleh menggunakan dua kaedah berikut:
Kaedah 1: Gunakan templat editor
Buat templat editor tersuai untuk jenis dalam koleksi. Buat bahagian pandangan dalam , termasuk kod berikut:
kemudian dalam pandangan utama, hantar selectList sebagai viewdata tambahan ke templat editor:
Views/Shared/EditorTemplates/AggregationLevelConfiguration.cshtml
Kaedah 2: Menjana senarai selektif baru dalam setiap lelaran dan tetapkan nilai pemilihan
<code class="language-csharp">@model yourAssembly.AggregationLevelConfiguration @Html.DropDownListFor(m => m.HelperCodeType, (SelectList)ViewData["CodeTypeItems"]) .... // AggregationLevelConfiguration的其他属性</code>
Dalam kaedah ini, tetapkan atribut
ke<code class="language-csharp">@using (Html.BeginForm()) { ... @Html.EditorFor(m => m.Configurations , new { CodeTypeItems = Model.CodeTypeItems }) ... }</code>
. Kemudian dalam pandangan utama, menghasilkan :
baru
CodeTypeItems
Sila ambil perhatian bahawa kaedah ini hanya boleh digunakan untuk elemen pertama dari array IEnumerable<genericidnametype>
. Untuk unsur -unsur lain dalam array, rawatan kitaran diperlukan dan SelectList
dijana untuk setiap elemen. Ini mungkin perlu menggunakan struktur bulat (seperti kitaran Configurations
atau SelectList
) untuk melelehkan array, dan menghasilkan baru dalam setiap lelaran. Ini akan memastikan bahawa setiap senarai drop ditetapkan dengan betul.
Atas ialah kandungan terperinci Bagaimana untuk menetapkan item yang dipilih dalam mvc5 razor @html.dropdownlistfor apabila nilai dalam array?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!