ASP.NET Core MVC 项目标准下拉框无法渲染显示问题求助
问题排查与解决方案
你代码的核心问题是使用了不存在的<drop-down-list>自定义标签,ASP.NET Core MVC并没有提供这个标签助手,标准下拉框需使用原生<select>标签搭配对应属性即可。以下是完整修正步骤:
- 确认视图基础配置
首先检查index.cshtml顶部是否声明了对应的视图模型,且项目的_ViewImports.cshtml中已引入ASP.NET Core默认标签助手:
// index.cshtml 顶部添加 @model IndexViewModel // 确保_ViewImports.cshtml存在以下配置 @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
- 修正下拉框代码
将你写的<drop-down-list>替换为标准<select>标签即可,可选添加占位提示项:
<div class="form-group"> <form method="post" asp-controller="Conversions" asp-action="MphToKph"> <label asp-for="SelectedMph">英里每小时</label> <select asp-for="SelectedMph" asp-items="Model.MilesPerHourList" class="form-control"> <option value="">请选择速度</option> </select> <button type="submit" name="submitButton" class="btn btn-primary">提交转换</button> </form> </div>
- 可选的HtmlHelper写法
如果你习惯用HtmlHelper语法,也可以用以下写法实现相同效果:
@Html.DropDownListFor(m => m.SelectedMph, Model.MilesPerHourList, "请选择速度", new { @class = "form-control" })
以上修正完成后刷新页面即可正常渲染下拉框,选中的值提交后会自动绑定到SelectedMph属性中。
内容的提问来源于stack exchange,提问作者TCsolutions
相关产品推荐
相关产品推荐

