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

提交表单时如何获取单选按钮组(Radio Button Group)的组ID?

解决单选按钮组ID获取问题的方案

嘿,我来帮你搞定这个问题!核心问题在于你当前的渲染逻辑里,没给每个单选按钮组设置对应的**name属性**——这可是区分不同属性组的关键!浏览器提交表单时,会把单选按钮的value和它所属的name配对发送,只要把name设为属性的标识(比如colour、size),后端就能轻松识别每个组的选中值啦。

修改渲染代码的具体方法

你可以在循环渲染时,把name属性绑定到对应属性的名称(比如Model.Properties[i].Name,假设你的属性对象有Name字段存储colour、size这类标识),同时给每个单选按钮设置唯一的id和对应的value。举个具体的代码示例:

for (int i = 0; i < Model.Properties.Count(); i++) { 
    var property = Model.Properties[i];
    <div class="col-lg-3 col-md-4 col-sm-6"> 
        <h5>@property.DisplayName</h5> <!-- 比如显示"Colour" -->
        foreach (var option in property.Options) {
            <div class="form-check">
                <input type="radio" 
                       class="form-check-input" 
                       id="radio_@property.Name_@option.Value" <!-- 唯一ID,比如radio_colour_Red -->
                       name="@property.Name" <!-- 组ID就是属性名,比如colour -->
                       value="@option.Value">
                <label class="form-check-label" for="radio_@property.Name_@option.Value">
                    @option.DisplayName <!-- 比如显示"Red" -->
                </label>
            </div>
        }
    </div>
}

后端读取数据的方式

这样提交表单后,后端就能通过属性名(也就是name的值)来获取每个组的选中值:

  • 如果是ASP.NET MVC,直接在Action参数里接收,比如public IActionResult Submit(string colour, string size, string height)
  • 或者通过Request.Form["colour"]来获取对应组的选中值

额外小贴士

  • 每个单选按钮的id要保证全局唯一,用property.Name + option.Value拼接是个靠谱的做法
  • 别忘了给label的for属性和对应单选按钮的id绑定,这样点击标签也能选中按钮,提升用户体验

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:19:53