在ASP中使用WebGrid显示原始HTML.asp.net MVC 3



我有一个这样的网格:

WebGrid grid = new WebGrid(source: Model, rowsPerPage: 5, ajaxUpdateContainerId: "GridContainer");

现在,我想将"MyContent"列显示为原始HTML。我该怎么办?

<div id="GridContainer">
    @grid.GetHtml(columns:
        grid.Columns(
            grid.Column(
                columnName: "MyContent",
                //Format: What should I put here?
            )
        )
    )
</div>

使用

<div id="GridContainer">
    @grid.GetHtml(columns:
        grid.Columns(
            grid.Column(
                columnName: "MyContent",
                format: (item) =>
                    {
                       var links = Html.ActionLink("Edit",   "Edit",    new {id = item.PrimaryKey})  + " | " +
                                   Html.ActionLink("Details","Details", new { id = item.PrimaryKey}) + " | "+
                                   Html.ActionLink("Delete", "Delete",  new { id = item.PrimaryKey});
                       return Html.Raw(links);
                    }
                )
            )
        )

显示为

<td>
    <a href="/Home/Edit/5">Edit</a> |
    <a href="/Home/Details/5">Details</a> |
    <a href="/Home/Delete/5">Delete</a>
</td>

我认为在模型中使用注释要干净得多。

[GridColumn(Title="&nbsp;", SanitizeEnabled=false,EncodeEnabled=false)]
    public IHtmlString RateLink
    {
        get{
            return new HtmlString("<a href="" + BaseUrl + Id + "" target="_blank">Open</a>");
        }
    }

如果你只使用注解,你的html只需要:

@Html.Grid(Model).AutoGenerateColumns()

最新更新