我无法正常工作
@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
它完美无缺
答案 0 :(得分:1)
@Roles.GetRolesForUser(item.UserName).LastOrDefault()
不
@Roles.GetRolesForUser().LastOrDefault(item.UserName)
因为@已经使用@Roles定义了你不必再次使用@(@ Item.UserName)
希望这有帮助
答案 1 :(得分:0)
没有(@item.UserName)
的情况下有效,因为如果你没有精确确定源LastOrDefault
默认返回null
。您可以看到有关here的文档。所以你可以尝试捕捉这个例子。
答案 2 :(得分:0)
我不明白,但我认为您的方法Roles.GetRolesForUser()
会返回IEnumerable
。对于使用linq扩展,请写如:
@Roles.GetRolesForUser().LastOrDefault(r=> r.UserName == item.UserName)