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

RadioButton值无法传递至Controller问题排查求助

问题解决方法

你的问题出在这几个关键地方:

  • 手动覆盖name属性导致模型绑定失败:asp-for="loremType"会自动生成与Model字段名一致的name属性(即name="loremType"),但你手动添加了name="type",导致表单提交的参数名是type,和Controller接收的Model字段loremType不匹配,所以无法完成绑定。直接删掉name="type"即可。
  • label的关联属性不匹配:每个label的for属性值(比如rdbLetters)没有对应的input id,导致点击label无法选中对应单选按钮。建议用asp-for自动关联,把label改成<label asp-for="loremType">Letters</label>,系统会自动匹配对应的radio元素。
  • 硬编码checked属性不符合模型驱动逻辑:不要手动写checked="checked",应该在Model初始化时把loremType的默认值设为3,这样页面加载时会自动选中对应选项,也能保证前后端数据一致。

修正后的代码示例

<div class="row">
    <div class="col-md-4">
        <input asp-for="loremType" value="1" type="radio" />
        <label asp-for="loremType">Letters</label>
    </div>
    <div class="col-md-4">
        <input asp-for="loremType" value="2" type="radio" />
        <label asp-for="loremType">Words</label>
    </div>
    <div class="col-md-4">
        <input asp-for="loremType" value="3" type="radio" />
        <label asp-for="loremType">Paragraphs</label>
    </div>
</div>

对应Model设置默认值

public class YourModel
{
    public int loremType { get; set; } = 3; // 默认选中Paragraphs选项
}

修改后,表单提交时loremType的值就能正确传递到Controller了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 09:05:35