【问题标题】:Format webgrid column bound to collection?格式化绑定到集合的 webgrid 列?
【发布时间】:2012-06-26 23:29:09
【问题描述】:

这是我的网络网格:

<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 是字符串的集合。如何使用“格式:”输出每个角色,然后在该单元格中换行?提前致谢。

【问题讨论】:

    标签: webgrid


    【解决方案1】:

    您可以使用 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;
                }
    ...
    

    未经测试,但应该作为获得您自己解决方案的指南,因为您可以更改帮助程序以按照您想要的方式呈现事物。

    【讨论】:

      猜你喜欢
      • 2012-12-01
      • 2012-10-24
      • 2011-06-19
      • 2018-09-22
      • 2018-06-28
      • 1970-01-01
      • 1970-01-01
      • 2016-03-14
      • 1970-01-01
      相关资源
      最近更新 更多