2011-03-11 41 views
6

我想爲MVCContrib網格構建一個自定義列,但是被Razor語法絆住了。這裏是我建立自定義列的代碼:使用MVC3 Razor MVCContrib Grid的高級列渲染

@{Html.Grid(Model).Columns(column => 
    { 
     column.For("Data").Do(p => { 
     <div>@p.Name</div> 
     }); 
    }).Render(); 
} 

如何標記包含div的行,以便Razor將該行視爲HTML?

回答

11

下面應該工作:

@(Html 
    .Grid<SomeViewModel>(Model) 
    .Columns(column => { 
     column.Custom(@<div>@item.Name</div>).Named("Data"); 
    }) 
) 
+0

將'@ {Html.Grid ....}'切換到'@(Html.Grid ....)'使我的網格顯示出來。剃刀外殼很奇怪=/ – 2011-03-21 18:13:30

+0

感謝這篇文章;我原本試圖創建自己的渲染器,但無濟於事。我最終只是使用自定義列來顯示我想要的數據,並且它完美地工作。 – 2012-01-11 15:17:14

3

這對我的作品。

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