gpt4 book ai didi

asp.net-mvc - 我可以在 MVC SelectList 中自定义我的数据文本字段以与 HtmlHelper.DropDownList 一起使用而无需创建新的结构或类吗?

转载 作者:行者123 更新时间:2023-12-04 01:23:32 25 4
gpt4 key购买 nike

我正在从 List(T) 类创建一个 SelectList,用于在 MVC View 中填充 HtmlHelper.DropDownList,在 Select List 构造函数中设置 dataValueField 和 dataTextField。应该显示的文本与我的类上的属性之一不完全匹配,仍然需要进行操作。有没有办法通过 SelectList 构造函数来做到这一点?我意识到我可以通过创建一个结构或类来做到这一点,以用作 Select 列表的 IEnumerable 输入,但如果我不需要,我宁愿不要。

我的 Controller 代码目前是:

        var members = MemberService.GetAll();
this.ViewData["Members"] = new SelectList(members, "Id", "Name");

我的查看代码目前是:
        <%= Html.DropDownList("Members") %>

我希望能够通过组合(和格式化)两个属性来预先格式化该字段,而不是“姓氏”作为我的显示字段。

最佳答案

您可以创建遍历成员列表的循环,将值添加到新列表中,然后从中创建 SelectList。就像是:

var members = MemberService.GetAll();
List<object> newList = new List<object>();
foreach(var member in members)
newList.Add( new {
Id = member.Id,
Name = member.Name + " " + member.Surname
} );
this.ViewData["Members"] = new SelectList(newList, "Id", "Name");

我不记得你是否可以使用这样的匿名类型,但如果不能,你可以创建一个小的数据类来用作中介。

关于asp.net-mvc - 我可以在 MVC SelectList 中自定义我的数据文本字段以与 HtmlHelper.DropDownList 一起使用而无需创建新的结构或类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2319691/

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