asp.net - 使用 Razor @Html.DisplayFor 显示以逗号分隔的数据列表
问题描述
如何使用@Html.DisplayFor(...) 显示数据列表,以逗号分隔。
例如,型号:
public class Player
{
public int Id { get; set; }
public List<int> scores { get; set; }
}
如果 player.scores 包含数据 8,9,10。
@Html.DisplayFor(model => model.scores);
输出将类似于:8910;
是否可以显示以逗号分隔的数据,例如 8,9,10 ?
解决方案
在您的情况下使用没有意义@Html.DisplayFor(...)
(并且它无论如何都无法工作,因为表达式不能包含转换值的方法)。
DisplayFor()
当您使用自定义时很有用DisplayTemplate
,或者您已将 a[DisplayAttribute]
应用于属性(并且该属性是DateTime
或您希望以特定方式格式化的数字类型)。
如果您确实想使用DisplayFor()
,那么您必须向视图模型添加另一个属性,例如
public string Score { get; set; }
在 GET 方法中,您可以使用
model.Score = String.Join(", ", model.scores);
并且在视图中
@Html.DisplayFor(m => m.Score)
或者,您可以只使用
@String.Join(", ", model.scores)
直接在视图中(否DisplayFor()
)
推荐阅读
- c# - 在 C# 对话流应用程序中使用显式凭据
- c# - 在达到 Windows 窗体的最大大小后更新控件的位置
- c - 输出不是我所期望的,代码没有打印任何错误,我不知道出了什么问题
- python - 如何使用 python pandas 数据框使用元组更新 db2 中的记录
- selenium - 如何处理 IE selenium 上的新标签?
- python - 无法将性别数据更改为二进制值
- .net-core - 我没有运气将多个值传递给重定向的 Razor 页面
- forms - Alfresco Workflow 表单保存并关闭
- ios - 如何使用swift等待来自api响应的值以进行登录视图
- reactjs - useRef.current.contains 不是函数