You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Blazor Server登录表单绑定问题:LoginModel空值及RZ9991错误

问题分析与修复方案

核心原因

1. RZ9991错误原因

Blazor的双向绑定语法对大小写严格要求,你用了bind-Value(大写V),但官方规定的正确格式是bind-value(全小写)。这个语法错误会直接导致绑定逻辑失效,输入框的值根本无法同步到LoginModel的属性中。

2. LoginModel为空的关联问题

因为绑定语法错误,输入框的内容没有被赋值到LoginModel的Username和Password属性里,所以调用HandleLogin时,模型对象的属性自然是空的。你手动构建模型能正常工作,也验证了这一点——方法本身没问题,问题完全出在数据绑定环节。

修复步骤

第一步:修正绑定语法

把所有输入框的bind-Value改成bind-value,示例如下:

错误代码:

<input type="text" @bind-Value="loginModel.Username" />
<input type="password" @bind-Value="loginModel.Password" />

修正后:

<input type="text" @bind-value="loginModel.Username" />
<input type="password" @bind-value="loginModel.Password" />

第二步:确保LoginModel的属性可绑定

检查你的LoginModel类,确保属性是公共、带有get和set访问器的,建议给属性赋默认值避免空引用:

public class LoginModel
{
    public string Username { get; set; } = string.Empty;
    public string Password { get; set; } = string.Empty;
}

第三步:在组件中正确初始化LoginModel

在Blazor组件的代码块里,提前初始化LoginModel实例,不要让它为null:

@code {
    private LoginModel loginModel = new LoginModel();

    private async Task HandleLogin()
    {
        // 此时loginModel的Username和Password已能正常获取输入值
        // 后续登录逻辑
    }
}

验证

修正后重新编译,RZ9991错误会消失,提交表单时loginModel的属性就能正确获取到输入值,HandleLogin方法也能正常处理登录请求了。

内容的提问来源于stack exchange,提问作者general

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 05:29:50