命名参数规范必须出现在WebGrid MVC3中所有固定参数之后
本文关键字:参数 之后 MVC3 范必须 WebGrid | 更新日期: 2023-09-27 18:02:11
我必须显示如果网格列值是"真"那么"是"否则"否"。在WebGrid
中尝试,但在视图中的GridColumn
中抛出错误。
grid.Column("SelectedStatus", header: "Selected Status", Model.SelectedStatus==true ? Html.Raw("Yes"): Html.Raw("No"))
当我试图在列中使用format:
时,它会抛出我"Invalid arguments"
错误。
我错在哪里?
有几点。首先是非常明显的错误消息——你明白你需要在末尾添加一个命名参数,因为固定参数不能出现在命名参数之后。
第二,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")
WebGrid。列文档