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
相关产品推荐
相关产品推荐

