EditForm 需要 Model 参数或 EditContext 参数

Joh*_*n S 5 c# blazor-server-side

如何解决此 Blazor 服务器错误?

EditForm 需要 Model 参数或 EditContext 参数

我在下面创建了一个最低限度可重复的示例。问题似乎是因为模型没有实例化......为什么下面的简单页面会抛出此错误?

@page "/"
<EditForm @Model="@person">
    <input @bind="@person.FirstName" />
    <input @bind="@person.LastName" />
</EditForm>
@code 
{
    public Person person = new Person();
    protected override Task OnInitializedAsync()
    {
        person = new Person
        {
            FirstName = "Fred",
            LastName = "Flintstone"
        };
        return base.OnInitializedAsync();
    }
}
Run Code Online (Sandbox Code Playgroud)

Ben*_*973 3

我不仅可以告诉你错误,还可以告诉你如何在VS中输入时检查它。

改成这样:

<EditForm Model="@person">
Run Code Online (Sandbox Code Playgroud)

(即没有“@”符号Model

当您在行中键入<Editform>内容时,当您按空格键时,您将看到预期变量的列表,其中一些以 开头@,例如@ref,还有一些不以 开头,例如Model