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 に答える