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

使用FluentSelect时如何绑定值?代码绑定失败求排查

问题排查与解决方案

核心问题分析

你的代码存在两个关键问题导致绑定失效:

  • 绑定目标应为属性而非字段:Blazor的双向绑定(@bind-Value)要求绑定目标是带get/set的属性,而非普通字段。你定义的int intValue;是字段,无法触发绑定更新。
  • EditForm未正确绑定模型对象:EditForm需要绑定一个包含绑定属性的模型实例,而非零散字段,否则表单系统无法跟踪值的变化。

修正后的代码

后端代码(模型与逻辑)

// 定义表单模型类
public class FormModel
{
    public int IntValue { get; set; }
}

// 组件类中实例化模型
private FormModel _model = new FormModel();

protected async Task HandleValidSubmit()
{
    var i = _model.IntValue; // 从模型中获取绑定值
}

前端代码(FluentSelect与EditForm)

<EditForm Model="@_model" OnValidSubmit="HandleValidSubmit">
    ...
    <FluentSelect @bind-Value="@_model.IntValue" TOption="int">
        <FluentOption Value="1">Option 1</FluentOption>
        <FluentOption Value="2">Option 2</FluentOption>
    </FluentSelect>
    ...
    <button type="submit">提交</button>
</EditForm>

额外说明

你提到参考《How to two-way-bind a value in FluentListBox》无法解决问题,这是因为该文章针对的是FluentListBox控件,而该控件确实无法直接与Forms系统配合使用,FluentSelect的绑定逻辑需要遵循Blazor表单的标准规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 20:45:08