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

Blazor中下拉列表无法绑定属性问题求助

Blazor下拉列表绑定错误修复

问题根源

你错误地将@bind-value应用在了<option>标签上,Blazor的双向绑定语法仅支持在<select>标签上使用,而非每个选项单独绑定,这就是触发RZ9991错误的原因。

正确实现方式

  1. 绑定逻辑移至<select>标签:将@bind-value="@Numbers"直接添加到<select>上,由下拉列表组件统一管理选中值的双向同步。
  2. 处理float类型转字符串:由于绑定属性Numbers是string类型,而遍历项的Number是float类型,需要将其转换为字符串作为<option>的value值。
  3. 移除循环内无效赋值:删除foreach中的Number = item.Number.ToString();,这行代码会在循环中重复覆盖值,毫无意义。

修正后的代码

组件属性

[Parameter] public string? Numbers { get; set; }

下拉列表代码

<div class="row">
    <div class="mb-1">
        <label class="form-label col-5 col-md-4 text-end">Numbers:</label>
        <select class="mr-2" @bind-value="@Numbers">
            @foreach (var item in number_list)
            {
                <option value="@item.Number.ToString()">@item.Numbers</option>
            }
        </select>
    </div>
</div>

额外说明

  • 如果需要控制绑定的事件(比如失去焦点时更新),可以使用@bind-value:event="onchange"(默认就是onchange,可省略)。
  • 确保number_list中的Numbers属性是你希望在下拉列表中显示的文本内容,Number转换为字符串后作为实际提交的选中值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 06:18:16