Blazor onchange event avec liste déroulante select

asp.net-core blazor c#

Question

Donc, je suis coincé en essayant d'obtenir un simple échange pour déclencher quand une valeur de liste déroulante sélectionnée change. Ainsi:

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

avec la méthode appelée:

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

Le résultat que j'obtiens, peu importe comment j'essaie de le réorienter, est cette erreur dans le navigateur.

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

Y a-t-il quelque chose d'évident et de clé qui me manque? Parce que j'ai un événement bouton onclick qui fonctionne très bien dans la même page.

Réponse acceptée

Votre réponse devrait être dans le cshtml:

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

Ensuite, vos fonctions @ devraient ressembler à:

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

Vous pouvez également simplement utiliser une liaison ...

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

mais onchange = @ DoStuff vous permet d’exécuter une logique de sélection.


Réponse populaire

Pour commencer, vous n'utilisez pas la syntaxe de liaison correcte:

onchange="@dostuff"

remarquez le @




Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi