Di ASP.NET MVC5, use@html.dropdownlistfor untuk memproses nilai array sebagai pemilihan jadual drop -down
Dalam ASP.NET MVC 5, kaedah Auxiliary
digunakan untuk menjadikan senarai drop -down untuk atribut dalam model. Walau bagaimanapun, kadang -kadang anda mungkin perlu menetapkan nilai pemilihan senarai drop -down berdasarkan nilai array atau ditetapkan dalam model.
@Html.DropDownListFor()
pertimbangkan contoh berikut:
Dalam contoh ini, atribut <code class="language-csharp">@Html.DropDownListFor(m => m.Configurations[0].HelperCodeType, (SelectList)Model.HelperCodeTypeItems, new { id = "Configurations[0].HelperCodeType" })</code>
Salin selepas log masuk
adalah pelbagai objek . Kami berharap dapat menetapkan nilai pemilihan senarai drop -down mengikut atribut Configurations
atribut elemen pertama dalam array. AggregationLevelConfiguration
Walau bagaimanapun, jika kita cuba menggunakan kod berikut untuk menetapkan nilai pemilihan senarai drop -down: Configurations
HelperCodeType
kita akan menghadapi kesilapan. Ini kerana pembina menjangkakan parameter keempat adalah rentetan, tetapi atribut
adalah jenis byte. <code class="language-csharp">new SelectList(Model.HelperCodeTypeItems, "Id", "Name", Model.Configurations[0].HelperCodeType)</code>
Salin selepas log masuk
Untuk menyelesaikan masalah ini, kita boleh menggunakan salah satu daripada dua kaedah berikut: SelectList
Model.Configurations[0].HelperCodeType
Kaedah 1: Gunakan editortemplate
Buat jenis untuk jenis. Dalam , kita boleh menggunakan kaedah Auxiliary untuk menjadikan senarai drop -down sebagai atribut . Kami juga boleh menetapkan nilai pemilihan senarai drop -down mengikut atribut .
Contohnya, tetapkan nilai pemilihan senarai drop -down di bawah untuk
atribut objek : AggregationLevelConfiguration
EditorTemplate
EditorTemplate
Kaedah 2: Menjana selektif baru @Html.DropDownListFor()
HelperCodeType
Model.HelperCodeType
Dalam kaedah ini, kami akan menghasilkan objek
baru untuk setiap elemen dalam array . Kemudian, kita boleh menetapkan nilai pemilihan senarai drop -down mengikut atribut EditorTemplate
elemen semasa. Model
HelperCodeType
Sebagai contoh, kod berikut akan menghasilkan objek
baru untuk setiap elemen dalam array dalam array: <code class="language-csharp">@model yourAssembly.AggregationLevelConfiguration
@Html.DropDownListFor(m => m.HelperCodeType, (SelectList)ViewData["CodeTypeItems"])
.... // AggregationLevelConfiguration的其他属性</code>
Salin selepas log masuk
Kedua -dua kaedah membolehkan kami menetapkan nilai pemilihan senarai drop -down berdasarkan nilai array atau koleksi dalam model.
Atas ialah kandungan terperinci Bagaimana untuk memilih nilai dalam ASP.NET MVC5 @html.dropdownlistfor When nilai dalam array?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!