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

Blazor中单选按钮绑定异常问题排查求助

问题原因分析

你的问题核心在于绑定变量的定义方式:如果将绑定单选按钮的变量(比如你代码中的SelectedLetter)定义为字段而非自动属性,Blazor的状态变更检测机制无法感知到值的变化,导致第二次赋值后组件不会重新渲染,单选按钮的选中状态也就不会更新。

第一次输入"L"回车时,组件处于初始渲染阶段,字段赋值会触发初始渲染,因此单选按钮能正常选中;但当你点击U按钮后,再输入"L"回车时,字段的变化无法被Blazor捕获,组件不会重新渲染,单选按钮仍保持之前的选中状态。

解决方案
  1. 修正绑定变量定义:将字段改为自动属性,让Blazor能检测到值的变化:

    // 错误写法(字段)
    // string SelectedLetter;
    
    // 正确写法(自动属性)
    string SelectedLetter { get; set; }
    
  2. 简化输入框逻辑:直接使用Blazor的双向绑定替代手动处理输入和回车事件,这样输入框内容会即时同步到绑定变量,单选按钮也会自动更新:

    <input type="text" @bind="SelectedLetter" />
    
    @foreach (var letter in new[] { "L", "U", "N", "C", "H" })
    {
        <input type="radio" @bind-Value="SelectedLetter" value="@letter" /> @letter
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 20:05:02