我正在尝试格式化WebGrid列,以便将两个数据连接在一起(名字和姓氏)。这是我正在尝试的,但我承认我不认为我完全理解如何使用WebGrid中的数据(除了基本场景)。 (对于列名,教师对象正在传递给我的视图,但要实际获取教师的名字,我必须从链接的用户对象获取该信息,因为用户可以扮演多个角色。)
grid.Column(
columnName: "Teacher.User",
header: "Teacher",
style: "",
canSort: true,
format: (item) =>
{
var text = Html.DisplayTextFor(item => item.LastName) + ", " + Html.DisplayTextFor(item => item.FirstName);
return Html.Raw(text);
}
)
答案 0 :(得分:12)
将两个数据连接在一起的最简单方法,请按照
进行操作grid.Column("FullName", format: (item) => item.LastName+ ' ' + item.FirstName)
答案 1 :(得分:2)
采用lambda表达式的强类型助手不能使用动态表达式,这是WebGrid
助手被淹没的原因。传递给item
函数的format
参数的类型为dynamic
,因此您无法将其与lambda表达式一起使用。
我正在尝试格式化WebGrid列,以便我可以连接两个部分 数据一起(名字和姓氏
视角模型的优秀候选者。只需在用户视图模型中添加另一个属性:
public string FullName
{
get
{
return string.Format("{0}, {1}", this.LastName, this.FirstName);
}
}
您将在视图中使用:
grid.Column(
columnName: "Teacher.User.FullName",
header: "Teacher",
style: "",
canSort: true
)