首页 > 解决方案 > 服务器端 Blazor UIMouseEventArgs 事件不起作用

问题描述

我有一个最新版本的服务器端 Blazor 应用程序,但下面的代码假设在单击按钮时切换文本由于某种原因不起作用

@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!";

    }
}

它在以下代码行中显示错误,private void ToggleDisplayText(UIMouseEventArgs args)错误UIMouseEventArgs消息是

我有dotnet --version3.1.100的最新版本

更新:当我将事件替换UIMouseEventArgsMouseEventArgs. 我必须检查MouseEventArgs最新版本的 asp.net blazor 是否支持,或者到目前为止我还没有在谷歌上找到任何理由,或者文档可能在我需要深入挖掘的地方提到。

标签: asp.netblazorblazor-server-sideasp.net-blazor

解决方案


正如“dani herrera”所提到的,使用 MouseEventArgs。并删除以方法调用“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!";

    }
}

推荐阅读