我有一个最新版本的服务器端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上找不到任何原因,或者我可能需要深入研究的地方提到了文档。
答案 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!";
}
}