我必须显示Grid列值是“true”然后“Yes”否则“No”。在WebGrid
中尝试但在视图GridColumn
中误解了我。
//代码:
grid.Column("SelectedStatus", header: "Selected Status", Model.SelectedStatus==true ? Html.Raw("Yes"): Html.Raw("No"))
当我尝试在列中使用format:
时,它会导致"Invalid arguments"
错误。
我哪里错了?
答案 0 :(得分:1)
一些事情。首先是相当明显的错误信息 - 你知道你需要在最后添加一个命名参数,因为固定参数不能出现在命名参数之后。
其次,format参数不是字符串,而是期望类型为System.Func<Object, Object>
,因此您可以将其替换为:
grid.Column("SelectedStatus", "Selected Status", m => m.SelectedStatus == true ? Html.Raw("Yes") : Html.Raw("No"))
你会注意到我也删除了名为header
的参数,因为它已经是列表中的第二个参数,所以它在这里是多余的。
最后,如果Model.SelectedStatus
是bool
(而不是bool?
),则不需要== true
。你可以简单地写一下:
m => Html.Raw(m.SelectedStatus ? "Yes" : "No")