Blazor onchange-Ereignis mit Auswahl Dropdown

asp.net-core blazor c#

Frage

So bin ich stecken geblieben und versuche, eine einfache Onchanger zu feuern, wenn sich ein select Dropdown-Wert ändert. Wie so:

<select class="form-control d-flex" onchange="(dostuff())">
    @foreach (var template in templatestate.templates)
    {
        <option value=@template.Name>@template.Name</option>
    }
</select>

mit der aufgerufenen Methode:

<select class="form-control d-flex" onchange="(dostuff())">
    @foreach (var template in templatestate.templates)
    {
        <option value=@template.Name>@template.Name</option>
    }
</select>

Das Ergebnis bekomme ich egal wie ich es neu auszurichten versuche ist dieser Fehler im Browser.

<select class="form-control d-flex" onchange="(dostuff())">
    @foreach (var template in templatestate.templates)
    {
        <option value=@template.Name>@template.Name</option>
    }
</select>

Gibt es etwas Offensichtliches und einen Schlüssel, den ich vermisse? Weil ich ein Button onclick -Ereignis habe, das auf der gleichen Seite gut funktioniert.

Akzeptierte Antwort

Ihre Antwort sollte im cshtml sein:

<select onchange=@DoStuff>
    @foreach (var template in templates)
    {
        <option value=@template>@template</option>
    }
</select>

Dann sollten Ihre @Funktionen wie folgt aussehen:

<select onchange=@DoStuff>
    @foreach (var template in templates)
    {
        <option value=@template>@template</option>
    }
</select>

Sie könnten auch einfach eine Bindung verwenden ...

<select onchange=@DoStuff>
    @foreach (var template in templates)
    {
        <option value=@template>@template</option>
    }
</select>

aber onchange = @ DoStuff ermöglicht Ihnen, Logik bei der Auswahl durchzuführen.


Beliebte Antwort

Für Anfänger verwenden Sie nicht die richtige Bindungs-Syntax:

onchange="@dostuff"

bemerke das @




Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum