Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
单击“使用Blazor提交”后清除输入字段_Blazor_Blazor Server Side - Fatal编程技术网

单击“使用Blazor提交”后清除输入字段

单击“使用Blazor提交”后清除输入字段,blazor,blazor-server-side,Blazor,Blazor Server Side,我想知道是否有人知道在按下保存按钮“提交”后如何清除所有输入字段?? 当我返回页面时,我的值仍然存在 这是我正在使用的代码 @page "/testform" @inject BlazorApp6.Data.Person person @inject BlazorApp6.DBContext.ValidationTestContext Context @inject BlazorApp6.Interface.INterface Manager <EditForm Mo

我想知道是否有人知道在按下保存按钮“提交”后如何清除所有输入字段?? 当我返回页面时,我的值仍然存在

这是我正在使用的代码

@page "/testform"
@inject BlazorApp6.Data.Person person
@inject BlazorApp6.DBContext.ValidationTestContext Context
@inject BlazorApp6.Interface.INterface Manager

<EditForm Model="@person" OnValidSubmit="@CreatePerson">
        <DataAnnotationsValidator />
        <ValidationSummary />
        <div class="form-group">
            <label for="Name">Name</label>
            <InputText @bind-Value=Person.Name class="form-control" id="Name" />
            <ValidationMessage For=@(() => Person.Name) />
        </div>
        <div class="form-group">
            <label for="Age">Age</label>
            <InputNumber @bind-Value=Person.Age class="form-control" id="Age" />
            <ValidationMessage For=@(() => Person.Age) />
        </div>
        <input type="submit" class="btn btn-primary" value="Save" />
    </EditForm>

@code {



    protected override async Task OnInitializedAsync()
    {
        person.OnChange += StateHasChanged;
    }

    private void CreatePerson()
    {

        Manager.Create(person);
        
       
    }

}
@page”/testform
@注入BlazorApp6.Data.Person
@注入BlazorApp6.DBContext.ValidationTestContext上下文
@注入BlazorApp6.Interface.Interface管理器
名称
Person.Name)/>
年龄
个人(年龄)/>
@代码{
受保护的重写异步任务OnInitializedAsync()
{
person.OnChange+=状态已更改;
}
个人
{
经理。创建(个人);
}
}

重置所有值。最简单的方法:

private void CreatePerson()
{
    Manager.Create(person);
    person = new Person();            
}
您不应该需要状态已更改:

protected override async Task OnInitializedAsync()
{
    // person.OnChange += StateHasChanged;
}

否则,您必须
-=
+=
重新设置所有值。最简单的方法:

private void CreatePerson()
{
    Manager.Create(person);
    person = new Person();            
}
您不应该需要状态已更改:

protected override async Task OnInitializedAsync()
{
    // person.OnChange += StateHasChanged;
}

否则,您必须
-=
+=
在未使用EditForms OnSubmit或OnValidSubmit的情况下处理有关
新人()的事件@奥瑞克,我现在已经补充了。但它仍然不起作用。您没有在Submit或OnValidSubmit上使用EditForms@奥瑞克,我现在已经补充了。但它仍然不起作用。我看到你注射人,那不是一个好方法。注入服务,而不是实体。当我尝试“找不到类型或命名空间名称'Person'(是否缺少using指令或程序集引用?)”时,我得到了这一点。此消息是否与@injection有关?是的,
@include BlazorApp6.Data
我看到您注入Person,这不是一个好方法。注入服务,而不是实体。当我尝试“找不到类型或名称空间名称'Person'(是否缺少using指令或程序集引用?)”时,我发现此消息与@injection有什么关系吗?是的,
@include BlazorApp6.Data