服务器端Blazor UIMouseEventArgs事件不起作用

时间:2020-01-05 10:07:42

标签: asp.net blazor blazor-server-side asp.net-blazor

我有一个最新版本的服务器端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 --version 3.1.100的最新版本

更新: 当我将事件UIMouseEventArgs替换为MouseEventArgs时,我的示例运行良好。我必须检查asp.net blazor的最新版本是否支持MouseEventArgs,或者由于我现在在Google上找不到任何原因,或者我可能需要深入研究的地方提到了文档。

1 个答案:

答案 0 :(得分:1)

如“ 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!";

    }
}