2013-02-27 61 views
2

正在寻找无处不在,但无法找到答案。我有一个显示来自IEnumerable的数据的webgrid。我不想创建视图模型,特别是为了网格的目的,所以在创建列时,我使用相关的属性。像这样:MVC WebGrid设置列值

grid.Column(format: @<text> 
        @item.User.FullName 
        </text>, 
      header: "User"), 

这是多对一的关系,它工作正常。我想用类似的伎俩很多很多,像这样:

grid.Column(format: @<text> 
        @item.Companies.FirstOrDefault().Title 
        </text>, 
      header: "Company"), 

,但得到一个错误,指出

System.Collections.Generic.List<ActivityLog.Domain.Entities.Company>' does not contain a definition for 'FirstOrDefault' 

比我可以输出这个值在的WebGrid使用它的任何其他方式?

或者我应该:

选择1)使用一些其他的演示助手,或者在foreach循环建立一个HTML表

选择2)创建视图模型,以适应所需的WebGrid

所有属性

你认为哪一个更合适?

回答

0

确保您已在您的CSHTML文件的顶部添加

@using System.Linq; 

+0

它已被添加,我使用相同的方式访问foreach循环中的数据,一切工作正常 – Bartosz 2013-02-28 09:38:08

+0

我面临同样的问题。问题 - http://stackoverflow.com/q/24545789/2943718?sem=2。你有没有解决这个问题? – Amrutha 2014-07-23 11:33:29