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

ASP.NET .cshtml页面如何实现ComboBox?asp:DropDownList无法生效如何处理?

asp:DropDownList无法运行的原因

<asp:DropDownList>是ASP.NET Web Forms专属的服务器控件,仅支持.NET Framework下的Web Forms项目,你当前使用的是ASP.NET Core的Razor视图(.cshtml),框架本身不兼容Web Forms的服务器控件,因此无法正常渲染运行。

下拉框(ComboBox)正确实现方案

方案1:静态硬编码选项(匹配你当前的需求)

直接使用原生HTML select标签配合Razor标签助手即可实现同等效果,修改后的完整代码如下:

@section Head{
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="~/css/make-ad.css" rel="stylesheet" />
    <title>Document</title>
}

<form asp-controller="Item" asp-action="Add" method="post">
    <label> 分类</label>
    <input asp-for="CategoryId" type="text" />

    <!-- 替换原asp:DropDownList代码 -->
    <select class="ddlstyle" id="DropDownList1" asp-for="SelectedCity">
        <option value="">请选择</option>
        <option>新德里</option>
        <option>大诺伊达</option>
        <option>纽约</option>
        <option>巴黎</option>
        <option>伦敦</option>
    </select>
    <button type="submit">
        新增
    </button>
</form>

注意:将asp-for的SelectedCity替换为你的视图模型中存储下拉框选中值的对应属性名,表单提交时会自动将选中值绑定到该属性

方案2:动态绑定后端数据源

如果下拉选项需要从后端加载,可按以下步骤实现:

  • 首先在Controller的GET请求方法中构造选项列表,存入ViewBag或视图模型:
public IActionResult Add()
{
    // 示例数据,实际可从数据库查询获取
    var cityOptions = new List<SelectListItem>
    {
        new SelectListItem{ Value = "", Text = "请选择" },
        new SelectListItem{ Value = "1", Text = "新德里" },
        new SelectListItem{ Value = "2", Text = "大诺伊达" },
        new SelectListItem{ Value = "3", Text = "纽约" },
        new SelectListItem{ Value = "4", Text = "巴黎" },
        new SelectListItem{ Value = "5", Text = "伦敦" }
    };
    ViewBag.CityOptions = cityOptions;
    return View();
}
  • 再在Razor视图中直接绑定asp-items属性即可:
<select class="ddlstyle" id="DropDownList1" asp-for="SelectedCity" asp-items="@ViewBag.CityOptions"></select>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 00:00:00