Blazor服务器简单onchange事件未编译

Blazor服务器简单onchange事件未编译,blazor,blazor-server-side,asp.net-blazor,Blazor,Blazor Server Side,Asp.net Blazor,所以我想做一个简单明了的onchange事件。当用户更改下拉列表中不属于任何表单的选项时,我希望它更改我的Store类(这是您将使用React上下文执行的操作的替代) 我在这里有我的组件: <select @onchange="OnRestaurantChanged"> @foreach (var restaurant in _restaurantStore.State.RestaurantList) { <option va

所以我想做一个简单明了的onchange事件。当用户更改下拉列表中不属于任何表单的选项时,我希望它更改我的Store类(这是您将使用React上下文执行的操作的替代)

我在这里有我的组件:

<select @onchange="OnRestaurantChanged">
    @foreach (var restaurant in _restaurantStore.State.RestaurantList)
    {
        <option value="@restaurant.Id">@restaurant.Name</option>
    }
</select >

但无论我做什么,我都会遇到以下编译器错误,尽管每个教程或示例似乎都没有这些错误

如果我从函数中删除事件参数,那么一切似乎都可以编译。但我需要应用程序正在更改的餐厅的id,因此在更改时运行盲功能对我来说毫无意义

我考虑绑定到一个变量,然后使用onChange将绑定的变量发送到我的store函数,但我认为双重绑定不仅没有必要,而且可能会导致其他问题

如何访问ChangeEventArgs

// private void OnRestaurantChanged(ChangeEventArgs event)
   private void OnRestaurantChanged(ChangeEventArgs @event)
事件
是保留字。您可以使用
@
来“转义”。一般C#规则,与剃刀无关


事件
是保留字。您可以使用
@
来“转义”。一般C#规则,与Razor无关。

不使用“事件”作为变量,是一个保留字,使用,例如
e
private void OnRestaurantChanged(ChangeEventArgs e){console.WriteLine(e.Value)}
Javascript习惯,以前没有使用过该关键字。谢谢。不要使用“event”作为变量,这是一个保留字,请使用,例如
e
private void OnRestaurantChanged(ChangeEventArgs e){console.WriteLine(e.Value)}
Javascript习惯,以前没有使用过该关键字。谢谢。Javascript习惯。我以前也没有用过这个关键词。谢谢。Javascript习惯。我以前也没有用过这个关键词。谢谢
// private void OnRestaurantChanged(ChangeEventArgs event)
   private void OnRestaurantChanged(ChangeEventArgs @event)