Razor Html.DropDownListFor 自动设置选中值

Posted

技术标签:

【中文标题】Razor Html.DropDownListFor 自动设置选中值【英文标题】:Razor Html.DropDownListFor automatically set the selected value 【发布时间】:2021-08-05 18:50:25 【问题描述】:

我是 Razor 的新手,我将下拉列表作为 viewbag 和另一个值传递,当下拉列表在 web 中显示时它具有选定的值但我没有设置任何选定的值,我想我在 viewbag 中使用相同的名称value 和 dropdownlist value,会发生吗?

这是viewbag,我在这里设置值和下拉列表:

ViewBag.GlobalInstance = globalInstance;
ViewBag.LegislativeCode = legislativeCode.Trim();
ViewBag.Legislatives = new SelectList(legislativeEntities, "LegislativeCode", "LegislativeName");

这是前端代码:

@if (ViewBag.GlobalInstance == true)

        <div class="col-xs-5 hcm-form_controller mandatory gap" >
            <label for="LegislativeCode" class="w-100" mi-resourcekey="atr-LegislativeCode" >Legislative Entity</label>
            @html.DropDownListFor(m => m.LegislativeCode, ViewBag.Legislatives as SelectList, "--- Select ---", new  @class = "calc-w-100" )
        </div>

【问题讨论】:

您能否发布页面上呈现的select 控件的实际html 代码?另请注意,默认情况下,选择列表中的第一个 option 项目将显示为已选中(如果没有其他选项项目具有 selected 属性集) 【参考方案1】:

看来页面模型对LegislativeCode有一个价值,

m => m.LegislativeCode

所以当ViewBag.Legislatives中有相同的LegislativeCode时,会选择这个选项。

【讨论】:

以上是关于Razor Html.DropDownListFor 自动设置选中值的主要内容,如果未能解决你的问题,请参考以下文章

Razor 语法

Razor简介

.razor.g.cs 找不到

ASP.NET Web Pages - 添加 Razor 代码

从 Blazor 组件 (.razor) 重定向到 Razor 页面 (.cshtml) [服务器端]

ASP.NET Razor——ASP.NET Razor - C#代码语法