gpt4 book ai didi

asp.net-core - Blazor WebAssembly 将枚举作为参数传递给组件

转载 作者:行者123 更新时间:2023-12-03 08:39:07 25 4
gpt4 key购买 nike

我正在创建一个 Blazor WebAssembly 应用程序,我有一个枚举,我想将其作为参数传递给我的 Blazor 组件,如下所示

public enum EMenu
{
Menu1 = 1,
Menu2 = 2,
Menu3 = 3,
}

[Parameter] public EMenu Id { get; set; }

<NavMenu id="menu1" />

EMenu 是我的枚举,Id 是我的 NavMenu 组件上的参数。但它会出错,并显示 Specifiedcast is not valid 消息。

我用谷歌搜索并看到了这个 GitHub 问题 https://github.com/dotnet/aspnetcore/issues/19139根据它,当您使用枚举名称作为枚举值的前缀时,以下内容应该起作用

<NavMenu id="EMenu.Menu1" />

但这对我不起作用,同样的错误。有人可以帮忙指出哪里出了问题吗?

最佳答案

如果您的 NavMenu 组件上定义了此参数属性

[Parameter] public EMenu Id { get; set; }

然后像这样实例化 NavMenu 组件:

<NavMenu Id="EMenu.Menu1"/>

Id 而不是像您那样的 id...Id 是一个以大写字母开头的组件参数。

您的枚举类应该位于应用程序的根文件夹中。

关于asp.net-core - Blazor WebAssembly 将枚举作为参数传递给组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63080460/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com