Learning
Learning

Reputation: 20001

Server Side Blazor UIMouseEventArgs event not working

I have a server side Blazor app with latest version but below code which is suppose to toggle text when button is clicked is not working for some reason

@page "/Session12/EventHandleDemo"

    <h3>EventHandleDemo</h3>
<button @onclick="@ToggleDisplayText"> Toggle Text </button>

<p>@DisplayText</p>

@code {

    private string DisplayText { get; set; } = "Hello!";

    private void ToggleDisplayText(UIMouseEventArgs args)
    {

        DisplayText = (DisplayText.Equals("Hello!"))
            ? "Hellow world!"
            : "Hello!";

    }
}

It show me error in following line of code private void ToggleDisplayText(UIMouseEventArgs args) for UIMouseEventArgs and error message is

I have latest version of dotnet --version 3.1.100

Update: My example worked fine when i replaced event UIMouseEventArgs with MouseEventArgs. I have to check if MouseEventArgs is supported in latest version of asp.net blazor or what as i of now i have not found any reason on google or documentation may be its mentioned somewhere i just need to dig deep.

Upvotes: 0

Views: 871

Answers (1)

Saar
Saar

Reputation: 8474

As "dani herrera" mentioned, use MouseEventArgs. And remove '@' prefixed to method call "ToggleDisplayText".

@page "/Session12/EventHandleDemo"

<h3>EventHandleDemo</h3>
<button @onclick="ToggleDisplayText"> Toggle Text </button>

<p>@DisplayText</p>

@code {

private string DisplayText { get; set; } = "Hello!";

private void ToggleDisplayText(MouseEventArgs args)
{

    DisplayText = (DisplayText.Equals("Hello!"))
        ? "Hellow world!"
        : "Hello!";

    }
}

Upvotes: 1

Related Questions