我有一个这样的网格:
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=" ", SanitizeEnabled=false,EncodeEnabled=false)]
public IHtmlString RateLink
{
get{
return new HtmlString("<a href="" + BaseUrl + Id + "" target="_blank">Open</a>");
}
}
如果你只使用注解,你的html只需要:
@Html.Grid(Model).AutoGenerateColumns()