如何使用给定值填充 MVC 中的下拉列表

本文关键字:MVC 下拉列表 填充 何使用 | 更新日期: 2023-09-27 18:34:55

我有一个视图模型,其中包含另一个模型的外键,在此基础上,我想创建一个 dropDownList,它将向我显示选定的值名称,并给我所有其他选项,以便我可以将其更改为我想要的。这是我的创建表单:

@using (Html.BeginForm()) {
@Html.ValidationSummary(true, "Failed creating the feed")
<fieldset>
    <legend>FeedViewModel</legend>
    <div class="editor-label">
        @Html.HiddenFor(model => model.FeedId)
    </div>
    <div class="editor-label">
        @Html.LabelFor(model => model.LinkUrl)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.LinkUrl)
        @Html.ValidationMessageFor(model => model.LinkUrl)
    </div>
    <div class="editor-label">
        @Html.LabelFor(model => model.FolderId)
    </div>
    <div class="editor-field">
    </div>
    <p>
        <input type="submit" value="Create" />
    </p>
</fieldset>

我想在最后一个div处创建下拉列表,我已经有了我的模型中的值。我该怎么做?

如何使用给定值填充 MVC 中的下拉列表

你应该使用 Html.DropDownListFor 扩展方法:

@Html.DropDownListFor(m => m.ImageId, new SelectListItem[] {
            new SelectListItem {
                Selected = true,
                Text = "Text 1",
                Value = "Fileld Value 1"
            },
            new SelectListItem {
                Selected = false,
                Text = "Text 2",
                Value = "Fileld Value 2"
            }
        });

当然,第二个参数 IEnumerable 可以从数据库填充,而不是硬编码。