Reputation: 20001
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)
forUIMouseEventArgs
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
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