我正在开发服务器端 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? 可为空我仍然想知道实际问题是什么。