小编Joh*_*ohn的帖子

使用 InputSelect 时出现 Blazor 错误“以下方法或属性之间的调用不明确”

我正在开发服务器端 Blazor 应用程序。我的目标是用对象列表动态填充下拉列表,然后在选择该对象时对其执行某些操作。这是我收到的错误:

The call is ambiguous between the following methods or properties: 'RenderTreeBuilder.AddAttribute(int, string, string?)' and 'RenderTreeBuilder.AddAttribute(int, string, MulticastDelegate?)'
Run Code Online (Sandbox Code Playgroud)

错误位于文件“ListDropdownComponent.g.cs”中,我没有对此文件进行任何更改,因此我怀疑 Visual Studio 将我指向了错误的源。

当我注释掉这段代码时,错误消失了,所以我认为这就是错误所在:

<InputSelect @bind-Value="SelectedList" TValue="ListModel" @onchange="AddToList">
    <option value="@null">Add to list</option>
    @foreach (ListModel list in Lists)
    {
        <option value="@list">@list.ListName</option>
    }
    <option value="@(new ListModel{ ListID = -1, ListName="New List" }) ">New List</option>
</InputSelect>
Run Code Online (Sandbox Code Playgroud)

SelectedList 使用 ListModel 类:

public ListModel SelectedList;
Run Code Online (Sandbox Code Playgroud)

更新:我改用类的 int ID 属性,但仍然遇到相同的错误。所以我不知道原因是什么。

更新 2:这就是问题:value="@null"。我会找到一种方法来解决这个问题,但自从 int? 可为空我仍然想知道实际问题是什么。

.net c# blazor blazor-server-side

3
推荐指数
1
解决办法
2534
查看次数

标签 统计

.net ×1

blazor ×1

blazor-server-side ×1

c# ×1