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

ASP.NET中RadioButtonFor如何显示值并提交对应Id?

解决单选按钮显示Title.Value但提交Id的问题

这个问题很好解决,核心就是把单选按钮的提交值和显示文本分开处理就行,咱们一步步来改:

首先,你之前的视图代码里有个小问题:ViewBag.TitleList是List<Title>集合,不是字符串列表,所以foreach (String val in ViewBag.TitleList)会报错,得先把循环对象改成Title类型。

然后是关键逻辑:

  • RadioButtonFor的第二个参数要传title.Id(这是提交到后台的值,对应Client模型的Title字段)
  • 在单选按钮后面直接输出title.Value,这是给用户看的显示文本

修改后的视图代码如下:

<div>
    @Html.LabelFor(model => model.Title)
    @foreach (var title in ViewBag.TitleList as List<Title>)
    {
        <div class="radio-item">
            @Html.RadioButtonFor(model => model.Title, title.Id)
            @title.Value
        </div>
    }
</div>

如果是编辑场景,这个写法还能自动处理默认选中:RadioButtonFor会自动对比model.Title的值和当前循环的title.Id,相等的话会自动给单选按钮加上checked属性,不用额外写判断逻辑。

后台接收的时候,Client模型的Title字段会直接拿到选中项的Id,完全符合你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 10:00:36