首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Blazor Server simple onchange事件未编译

Blazor Server simple onchange事件未编译
EN

Stack Overflow用户
提问于 2020-08-30 04:35:35
回答 1查看 143关注 0票数 1

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

所以我在这里有我的组件:

代码语言:javascript
复制
<select @onchange="OnRestaurantChanged">
    @foreach (var restaurant in _restaurantStore.State.RestaurantList)
    {
        <option value="@restaurant.Id">@restaurant.Name</option>
    }
</select >

和我单独的组件代码文件如下:

代码语言:javascript
复制
using MenuApp.Stores.Restaurant;

namespace MenuApp.Pages.Components.Restaurants
{
    public partial class RestaurantSelector : ComponentBase
    {
        [Inject]
        private IRestaurantStore _restaurantStore { get; set; }

        public string RestaurantId { get; set; }

        private void OnRestaurantChanged(ChangeEventArgs event)
        {
            _restaurantStore.ChangeSelectedRestaurant();
        }
    }
}

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

如果我从函数中删除event参数,那么一切似乎都可以编译。但我需要应用程序要更改的餐厅的id,所以在更改时运行盲函数对我来说是没有意义的。

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

如何访问ChangeEventArgs?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-30 05:23:33

代码语言:javascript
复制
// private void OnRestaurantChanged(ChangeEventArgs event)
   private void OnRestaurantChanged(ChangeEventArgs @event)

event是保留字。你可以用一个@来“避开”它。一般的C#规则,与剃刀无关。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63651554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档