Heim > Backend-Entwicklung > C++ > Wie bindet man Wörterbücher in ASP.NET MVC richtig?

Wie bindet man Wörterbücher in ASP.NET MVC richtig?

Linda Hamilton
Freigeben: 2025-01-10 07:20:43
Original
435 Leute haben es durchsucht

How to Properly Bind Dictionaries in ASP.NET MVC?

Das Binden von Wörterbuchwerten in ASP.NET MVC ist im Allgemeinen einfach, erfordert jedoch die Einhaltung bestimmter Syntaxkonventionen für eine erfolgreiche Bindung.

Modellbindung

In der Modellklasse sollten Sie das Wörterbuchattribut definieren und es mit dem Wert initialisieren:

<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>
Nach dem Login kopieren

Tag anzeigen

Binden Sie in einer Ansicht mithilfe der folgenden Syntax an Wörterbuchschlüssel und -werte:

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

Diese Syntax stellt sicher, dass die Namensattributstruktur jedes Eingabefelds „Params[key]“ ist und der in der Modellbindung verwendeten Indexersyntax entspricht.

Wörterbuchschlüssel und -werte binden

In ASP.NET MVC 4 bindet der Standardmodellbinder Wörterbücher mithilfe der typischen Wörterbuchindexersyntax (Eigenschaft[Schlüssel]). Daher wird das folgende Tag erfolgreich an Dictionary<string, string> gebunden:

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

Dadurch können Sie Kontrollkästchen an Wörterbuchelemente binden. Beachten Sie, dass checked="@kvp.Value" davon ausgeht, dass kvp.Value ein boolescher Wert ist. Wenn kvp.Value eine Zeichenfolge ist, müssen Sie diesen Teil des Codes entsprechend der tatsächlichen Situation anpassen, indem Sie beispielsweise checked="@(kvp.Value == "true")" verwenden.

Das obige ist der detaillierte Inhalt vonWie bindet man Wörterbücher in ASP.NET MVC richtig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage