0

私は自分の見解でこのウェブグリッドを使用しています。

 <div class="grid">
 @{
var grid = new WebGrid(Model.SearchResults, canPage: true, rowsPerPage: 15);
grid.Pager(WebGridPagerModes.NextPrevious);
 @grid.GetHtml(
           htmlAttributes: new { @style = "width:100%", cellspacing = "0" },
           columns: grid.Columns(
           grid.Column(header: "Customer Name", format: (item) => Html.ActionLink((string)item.FullName, "ShowContracts", new { id = item.UserId }, new { @style = "color: 'black'", @onmouseover = "this.style.color='green'", @onmouseout = "this.style.color='black'" })),
           grid.Column(header: "SSN", format: item => item.SSN)
))
}
</div>

SSNで検索し、結果をWebグリッドに表示します。表示されるデータはダミーデータです。ビューモデルにブール値のAccountVerifiedがありますが、検証されていないアカウントへのアクションリンクを指定せず、アカウントの検証が保留中であることを示すテキストを横に表示する必要があります。誰かがこれについて私を助けることができますか?

4

1 に答える 1

3

次のことを試してください。

grid.Column(
    header: "Customer Name", 
    format: (item) => 
        (bool)item.AccountVerified 
            ? Html.ActionLink(
                  (string)item.FullName, 
                  "ShowContracts", 
                  new { 
                      id = item.UserId 
                  }, 
                  new { 
                      style = "color: 'black'", 
                      onmouseover = "this.style.color='green'", 
                      onmouseout = "this.style.color='black'" 
                  }
              ) 
            : Html.Raw("pending")
)

または、この怪物を回避するためのカスタムHTMLヘルパーを作成し、次のようにします。

grid.Column(
    header: "Customer Name", 
    format: item => Html.PendingLink(item)
)
于 2011-08-04T14:06:13.477 に答える