无法在 Blazor 中使用 e.Value = "value" 设置输入值

Cannot set the input value using e.Value = "value" in Blazor

我有一个简单的 input,类型为 text:

<input type="text" @oninput="Input_OnInput" />

如您所见,oninput 事件由 Input_OnInput 方法处理。这是它的实现:

private void Input_OnInput(ChangeEventArgs e)
{
    string inputValue = e.Value.ToString();
    e.Value = inputValue + "ABC";
}

它所做的只是将三个字符附加到输入字符串,然后将新字符串分配给 e.Value 属性.

但是,出于某种我无法理解的原因,这不起作用,新字符串未显示在 UI 上的输入文本中。

顺便说一句,也许我应该提到确实调用了该方法,并且确实执行了特定行,但它似乎没有按预期工作。

如果重要的话,我正在使用 Blazor 服务器端托管模型。

这不是您在 Blazor 中更新输入的方式,请查看

示例代码:https://docs.microsoft.com/en-us/aspnet/core/blazor/components/data-binding?view=aspnetcore-3.1

<p>
    <input @bind="currentValue" /> Current value: @currentValue
</p>

<p>
    <input @bind="CurrentValue" /> Current value: @CurrentValue
</p>

@code {
    private string currentValue;

    private string CurrentValue { get; set; }
}