我正在尝试根据asp.net mvc中web网格中的条件显示链接。 如果记录超过结束日期,则显示链接,否则不显示。
grid.Column("", format: (item =>
{
if (DateTime.Now > item.EndDate)
{
Html.ActionLink(
"File ClAIM",
"Edit",
new { id = item.id },
new { @class = "action-link" });
}
return false;
}))
它在我的所有记录中显示为false。任何帮助都将受到赞赏。
答案 0 :(得分:2)
您需要使用ternary operator以下方式:
grid.Column("", format: (item => { DateTime.Now > item.EndDate ? Html.ActionLink("File ClAIM", "Edit", new { id = item.id }, new { @class = "action-link" }) : String.Empty }))
答案 1 :(得分:0)
return
之前您遗漏了Html.ActionLink(...)
。由于return false
不在else
分支中,因此在任何一种情况下都会执行。我在您的代码段中添加了一些格式。我的观点对你来说可能会更加明显。
顺便说一句,false
不是字符串。虽然我不太详细了解webgrid组件,但我对代码编译感到有些惊讶。你也想在else的情况下返回一个字符串。 string.Empty
,null
," "
- 无论你认为合适。