Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Mengikat Kamus dengan Betul dalam ASP.NET MVC?

Bagaimana untuk Mengikat Kamus dengan Betul dalam ASP.NET MVC?

Linda Hamilton
Lepaskan: 2025-01-10 07:20:43
asal
435 orang telah melayarinya

How to Properly Bind Dictionaries in ASP.NET MVC?

Mengikat nilai kamus dalam ASP.NET MVC secara amnya mudah, tetapi memerlukan mengikut konvensyen sintaks khusus untuk pengikatan yang berjaya.

Pengikatan Model

Dalam kelas model, anda harus mentakrifkan atribut kamus dan memulakannya dengan nilai:

<code class="language-csharp">public class MyModel
{
    public Dictionary<string, string> Params { get; set; }

    public MyModel()
    {
        Params = new Dictionary<string, string>();
        Params.Add("Value1", "1");
        Params.Add("Value2", "2");
        Params.Add("Value3", "3");
    }
}</code>
Salin selepas log masuk

Lihat tag

Dalam paparan, ikat ke kunci kamus dan nilai menggunakan sintaks berikut:

<code class="language-html">@foreach (KeyValuePair<string, string> kvp in Model.Params)
{ 
    <tr><td>
            @Html.TextBox("Params[" + kvp.Key + "]")
        </td>
    </tr>
}</code>
Salin selepas log masuk

Sintaks ini memastikan bahawa struktur atribut nama bagi setiap medan input ialah "Params[key]", sepadan dengan sintaks pengindeks yang digunakan dalam pengikatan model.

Ikat kunci dan nilai kamus

Dalam ASP.NET MVC 4, pengikat model lalai mengikat kamus menggunakan sintaks pengindeks kamus biasa (property[key]). Oleh itu, teg berikut akan berjaya diikat pada Dictionary<string, string>:

<code class="language-html">@foreach (var kvp in Model.MyDictionary) {
    <input type="checkbox" name="@string.Format("MyDictionary[{0}]", kvp.Key)" checked="@kvp.Value" />
}</code>
Salin selepas log masuk

Ini membolehkan anda mengikat kotak pilihan pada elemen kamus. Ambil perhatian bahawa checked="@kvp.Value" menganggap bahawa kvp.Value ialah boolean. Jika kvp.Value ialah rentetan, anda perlu melaraskan bahagian kod ini mengikut situasi sebenar, seperti menggunakan checked="@(kvp.Value == "true")".

Atas ialah kandungan terperinci Bagaimana untuk Mengikat Kamus dengan Betul dalam ASP.NET MVC?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan