0

辞書にキーと値が含まれていることがわかるのに、この列にリンクが表示されないのはなぜですか。インデックス「item.Name」が解決されていないようです。ブロックする場合の許可がなかったときは、以前は正常に機能していました。プレーンフォーマット:@<text>@Html.ActionLink("Details", "Details", new {id = item.Id})</text>動作します。

grid.Column(header: "Actions", format: @<text>
                 @if(Model.Permissions.ContainsKey(item.Name))
                 {
                   var permissions = Model.Permissions[item.Name];
                   if (permissions.Contains("Read"))
                   {
                      @Html.ActionLink("Details", "Details", new {id = item.Id})
                   }
                   if (permissions.Contains("Update"))
                   {
                       @Html.ActionLink("Edit", "Edit", new {id = item.Id})
                   }
                 }</text>)
4

1 に答える 1

0

実際には意図したとおりに機能します。ここのリストで検索されている文字列にタイプミスがありましpermissions.Contains("Update")permissions.Contains("Read")。「Update」と「Read」は、「Read_x」と「Update_x」の形式のものです。後でリファクタリングする予定がある場合でも、文字列リテラルを使用しないことを知っておく必要があります。

于 2013-03-14T16:27:34.550 に答える