gpt4 book ai didi

c# - DisplayFor() 显示从下拉列表中选择的内容

转载 作者:行者123 更新时间:2023-11-30 12:28:00 24 4
gpt4 key购买 nike

所以下拉列表有值/文本。该值是我存储在数据库中的值(因为它是列出要在下拉列表中显示的值/文本的表的主键)。当我填充我的下拉列表时,我使用值/文本。当用户选择时,它将值(数字)存储到事务表中。这意味着当我将它读回我的模型时,我得到的是数字值而不是文本。但是,在选择 24 小时后,我只需要显示文本,因为它们无法进行更改。问题是它显示值 (1, 2, 3, 4) 而不是对人类更有意义的实际文本。

有没有办法在 View 级别转换它?我问的原因是因为我的模板分支并充当显示模板和编辑器模板,因为这是页面所需的功能。因此,我可以通过以下方式轻松地在编辑器模板部分中显示所选值:

@Html.DropDownListFor(modelItem => item.RecordType, new SelectList(Model.RecordTypes, "RECORD_TYPE_ID", "RECORD_TYPE", item.RecordType)

但是显示部分有:

@Html.DisplayFor(modelItem => item.RecordType)

这给了我值数字而不是文本。我真的必须在我的 View 模型中创建另一个字段并为每条记录填充文本和值吗?正如您从 DropDownListFor() 中看到的那样,我有存储值/文本的 RecordTypes 列表,所以我可以使用该值查找文本并通过 DisplayFor() 或其他函数从模板 View 中显示它吗?

最佳答案

一个替代方案可能是:

@Html.DisplayFor(modelItem =>
Model.RecordTypes.FirstOrDefault(rt => rt.RECORD_TYPE_ID == item.RecordType))

更新:如评论中所述,正确的方法最终是:

@Model.RecordTypes.FirstOrDefault(rt => rt.RECORD_TYPE_ID == item.RecordType).RECORD_TYPE.ToString()

它只显示字符串值。

关于c# - DisplayFor() 显示从下拉列表中选择的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23616969/

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