0

我无法让它工作

@grid.GetHtml(
   tableStyle: "bordertable",
   columns: grid.Columns(

       grid.Column("aaaa", format: @<text> @Roles.GetRolesForUser(@item.UserName).LastOrDefault() </text>  ),
       grid.Column("UserName", "bbbb"),
       grid.Column("FirstName", "cccc"),
       grid.Column("LastName", "dddd")
     ))

问题在于

@Roles.GetRolesForUser().LastOrDefault(@item.UserName)

没有@item.UserName它可以完美运行

4

3 回答 3

1
@Roles.GetRolesForUser(item.UserName).LastOrDefault()

不是

@Roles.GetRolesForUser().LastOrDefault(item.UserName)

也因为 @ 已经用 @Roles 定义了,你不必再次使用 @ (@Item.UserName)

希望这可以帮助

于 2013-08-15T14:55:32.887 回答
0

我不明白所有,但我假设你的方法Roles.GetRolesForUser()return IEnumerable。对于使用 linq 扩展,可以这样写:

@Roles.GetRolesForUser().LastOrDefault(r=> r.UserName == item.UserName)
于 2013-03-26T12:54:53.823 回答
0

它可以在没有的情况下工作,(@item.UserName)因为如果您不精确地默认LastOrDefault返回源null。您可以在此处查看相关文档。因此,您可以尝试捕捉异常来查看。

于 2013-03-26T12:23:50.937 回答