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

ASP.NET Core MVC课程应用SelectedCourse无值返回问题求助

解决ASP.NET Core MVC中SelectedCourse返回空值的问题

核心错误修正(HTML语法问题)

你的Apply.cshtml里的单选按钮存在两处语法错误,这是导致绑定失败的直接原因:

  • id属性语法错误:所有input标签的id属性写法错误,应为id="mvc1"而非id "mvc1"(缺少等号)。
  • 属性间缺少空格:asp-for与value属性间无空格,比如asp-for="SelectedCourse"value="ASP.NET Core MVC",这种写法会导致Razor无法正确解析绑定规则。

修正后的Apply.cshtml代码:

<div>
    <fieldset></fieldset>

    <legend>Select One(1) Course</legend>
    <p>
        <input id="mvc1" type="radio" asp-for="SelectedCourse" value="ASP.NET Core MVC" checked="true" />
        <label>ASP.NET Core MVC</label>
    </p>
    <p>
        <input id="mvc2" type="radio" asp-for="SelectedCourse" value="Blazor" />
        <label>Blazor</label>
    </p>
    <p>
        <input id="mvc3" type="radio" asp-for="SelectedCourse" value="API" />
        <label>Api</label>
    </p>
</div>

额外检查点

除HTML语法外,需确认以下内容:

  • Candidate模型类中必须包含public string SelectedCourse { get; set; }属性,属性名称需与asp-for的值完全匹配(大小写敏感)。
  • 控制器POST方法需正确接收模型参数,示例:
[HttpPost]
public IActionResult Apply(Candidate candidate)
{
    if(ModelState.IsValid)
    {
        Repository.Add(candidate);
        return RedirectToAction("Success");
    }
    return View(candidate);
}
  • Apply.cshtml顶部需添加模型声明@model BTK_Akademi.Models.Candidate,让Razor明确绑定的模型类型。

内容的提问来源于stack exchange,提问作者Umut Yurdugül

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 09:50:57