Asp.net mvc 3 使用MVC3 Razor实现MVCContrib网格的高级列渲染

Asp.net mvc 3 使用MVC3 Razor实现MVCContrib网格的高级列渲染,asp.net-mvc-3,razor,mvccontrib-grid,Asp.net Mvc 3,Razor,Mvccontrib Grid,我正试图为MVCContrib网格构建一个自定义列,但是被Razor语法绊倒了。以下是我构建自定义列的代码: @{Html.Grid(Model).Columns(column => { column.For("Data").Do(p => { <div>@p.Name</div> }); }).Render(); } @{Html.Grid(Model).Columns(column=> {

我正试图为MVCContrib网格构建一个自定义列,但是被Razor语法绊倒了。以下是我构建自定义列的代码:

@{Html.Grid(Model).Columns(column =>
    {
        column.For("Data").Do(p => {
        <div>@p.Name</div>
        });
    }).Render();
}
@{Html.Grid(Model).Columns(column=>
{
column.For(“数据”).Do(p=>{
@p、 名字
});
}).Render();
}

如何标记包含div的行,以便Razor将该行视为HTML?

以下操作应有效:

@(Html
    .Grid<SomeViewModel>(Model)
    .Columns(column => {
        column.Custom(@<div>@item.Name</div>).Named("Data");
    })
)
@(Html)
.网格(模型)
.列(列=>{
column.Custom(@@item.Name)。命名为(“数据”);
})
)
这对我很有用

@(Html.Grid(Model.PaymentFileLogs)
    .AutoGenerateColumns()
    .Columns(extraColumns => extraColumns.For(c => "<i class='icon-warning-sign'></i>").Encode(false))
@(Html.Grid(Model.PaymentFileLogs)
.AutoGenerateColumns()
.Columns(列外=>列外.For(c=>“”)。Encode(false))

+1将
{Html.Grid….}
切换到
@(Html.Grid….)
使我的网格显示出来。剃须刀外壳很奇怪=/感谢这篇文章;我最初试图创建自己的渲染器,但没有用。我最终只是使用自定义列来显示我想要的数据,它工作得非常完美。