2015-03-13 41 views
0

我想显示链接基于如果在asp.net mvc中的网格条件的条件。 如果记录超过结束日期,则不显示链接。如何使用如果使用asp.net webgrid中的条件mvc

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。任何帮助将不胜感激。

回答

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 })) 
0

你缺少一个returnHtml.ActionLink(...)。由于return false不在else分支中,所以在任何情况下都会执行该分支。我在代码片段中添加了一些格式。这点对我来说可能会更明显。

顺便说一下,false不是字符串。我对代码编译有些惊讶,但我不知道webgrid组件的细节。你也希望在else情况下返回一个字符串。 string.Emptynull" " - 无论你认为合适。