gpt4 book ai didi

c# - MVC 多个 DropDownLists from 1 List

转载 作者:太空狗 更新时间:2023-10-29 18:31:54 26 4
gpt4 key购买 nike

背景:我的页面上有 4 个下拉列表,它们都使用一个 SelectListItem 列表从中提取数据。所有这 4 个下拉列表将始终包含完全相同的元素。每个下拉列表的顶部都有一个空元素。

问题:如果我没有从列表中选择呈现第二个的项目,当页面加载第二个列表时会自动选择在第一个列表中选择的项目。这是因为(我认为)列表有一个 SelectListItem,其中 Selected = true,它只在第二个列表中使用那个。

有什么方法可以将一个列表源用于多个下拉列表?我不想将此列表复制 4 次,除非我绝对必须...

代码:

//this is the list source
public IEnumerable<SelectListItem> PossibleItems { get; set; }

//this is the code on my .cshtml page
@Html.DropDownListFor(x => x.SelectedItem1, Model.PossibleItems)
@Html.DropDownListFor(x => x.SelectedItem2, Model.PossibleItems)
@Html.DropDownListFor(x => x.SelectedItem3, Model.PossibleItems)
@Html.DropDownListFor(x => x.SelectedItem4, Model.PossibleItems)

最佳答案

在您的列表中,需要为四个下拉列表中的每一个创建不同的 SelectList 实体,如下所示:

@Html.DropDownListFor(x => x.SelectedItem1, 
new SelectList(Model.PossibleItems, "dataValue", "textValue", Model.SelectedItem1))
@Html.DropDownListFor(x => x.SelectedItem2, Model.PossibleItems)
new SelectList(Model.PossibleItems, "dataValue", "textValue", Model.SelectedItem2))
@Html.DropDownListFor(x => x.SelectedItem3, Model.PossibleItems)
new SelectList(Model.PossibleItems, "dataValue", "textValue", Model.SelectedItem3))
@Html.DropDownListFor(x => x.SelectedItem4, Model.PossibleItems)
new SelectList(Model.PossibleItems, "dataValue", "textValue", Model.SelectedItem4))

在此示例中,“dataValue”和“textValue”是 SelectListItem 对象的属性,它们对应于下拉选项的值和文本元素。

关于c# - MVC 多个 DropDownLists from 1 List<SelectListItem>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18880662/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com