小编rob*_*buk的帖子

Blazor 在 EditForm 中绑定 List<string>

我有一个与此问题类似的问题,因为我无法将 Blazor EditForm 绑定到简单的列表。

为了将列表绑定到 EditForm,我是否遗漏了某些内容?

人物.cs

public class Person {
  public List<string>? Names { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

EditForm1.razor 会产生编译时错误:Cannot assign to 'item' because it is a 'foreach iteration variable'。我明白了 - 迭代器是只读的,所以我可以理解这一点。

<EditForm Model="@person">
  @if (person is not null) {
    @if (person.Names is not null) {
      @foreach (var item in person.Names) {
        <InputText @bind-Value="@item" />
      }
    }
  }
</EditForm>
Run Code Online (Sandbox Code Playgroud)

因此,根据引用的 Microsoft 文档,我对其进行了重构。

EditForm2.razor 编译并运行...直到 person.Names 实际上具有值。然后它抛出ArgumentException: The provided expression contains a InstanceMethodCallExpression1 …

c# blazor blazor-server-side

2
推荐指数
1
解决办法
2481
查看次数

标签 统计

blazor ×1

blazor-server-side ×1

c# ×1