如何在Blazor / Razor中获取事件数据

时间:2019-05-15 08:31:33

标签: c# events asp.net-core razor blazor

我今天从Blazor开始,但已经有一些Web开发经验。 但是,这似乎还不够。我想获取onkeydown事件的事件参数,以便检查是否有Enter键。

我已经尝试在事件中使用一个函数来检查单独函数中的按键,并且已经尝试将某些内容直接插入onkeydown事件中,但没有任何效果。

以下是我要从其获得按键的事件。

<input onkeydown="" bind="@todo.Title" />

1 个答案:

答案 0 :(得分:1)

您需要使用<p id="p" onclick="doSomething(event);"> ,类似于在JavaScript中将事件作为参数传递。

<input type="text" onkeypress="@(e => KeyWasPressed(e))" />

@functions {
  private void KeyWasPressed(UIKeyboardEventArgs args)
  {
    if (args.Key == "r")
    {
      Console.WriteLine("R was pressed");
    }
  }
}

在Blazor中,您可以通过以下方式进行操作:

onkeypress="@KeyWasPressed"

正如@Bohring在评论中已经提到的那样,如果您正在编写<?xml version="1.0" encoding="utf-8" ?> <win> <name>Documents</name> <target>SSD:Documents:</target> <listview>1</listview> <sidebar>0</sidebar> <bounds>1200, 630, 1825, 1080</bounds> </win>

,您仍然会获得事件参数

您可以在此处详细了解其他事件参数:https://visualstudiomagazine.com/articles/2018/10/01/blazor-event-handling.aspx