2012-06-26 22 views
0

這裏是我的WebGrid:格式化webgrid列綁定到集合?

<div id="grid"> 
@grid.GetHtml(
    tableStyle: "grid", 
    headerStyle: "head", 
    alternatingRowStyle: "alt", 

    columns: grid.Columns(
     grid.Column("FullName", "Name"), 
     grid.Column("User.Email", "Email", format:@<a href="mailto:@item.User.Email">@item.User.Email</a>), 
     grid.Column("User.PhoneExtension", "Extension"), 
     grid.Column("ManagerName", "Manager"), 
     grid.Column("User.Roles", "Roles"), 
     grid.Column("", format: (item) => new HtmlString(Html.ActionLink("Edit", "Edit", new { userName = item.User.UserName }).ToString() + "|" + Html.ActionLink("Details", "Details", new { userName = item.User.UserName }).ToString())) 
    ) 
) 

User.Roles是字符串的集合。我如何使用「格式:」輸出每個角色,然後在該單元格中換行?提前致謝。

回答

0

可以用戶HTML助手來實現這一目標:

... 

    grid.Column(columnName: "User.Roles", header: "Roles", format: @<text>@Html.RenderUserRoles((List<String>)item.User.Roles)</text>) 

... 

助手會是這樣的......

... 
     public static string RenderUserRoles(this HtmlHelper helper, List<string> roles) 
      { 
       string result = string.Empty; 

       foreach (var item in roles) 
       { 
        result += item + " - "; 
       } 
       result += "<br>"; 

       return result; 
      } 
... 

沒有測試,但應該是一個引導到你自己的解決方案,因爲你可以改變幫手以你想要的方式渲染東西。

+0

謝謝,效果很好! – BBauer42