2011-03-11 24 views
6

Estoy tratando de crear una columna personalizada para una grilla MVCContrib, pero una tropiezo por la sintaxis de Razor. Aquí está mi código para la construcción de una columna personalizada:Representación avanzada de columnas para MVCContrib Grid con MVC3 Razor

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

¿Cómo se marca la línea que contiene el div para que la maquinilla de afeitar tratará la línea como HTML?

Respuesta

11

El siguiente debería funcionar:

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

+1 alternar '@ {Html.Grid ....}' a '@ (Html.Grid ....)' hizo aparecer mi cuadrícula. Los armarios Razor son extraños =/ –

+0

Gracias por esta publicación; Originalmente estaba tratando de crear mi propio procesador, pero fue en vano. Terminé simplemente usando una columna personalizada para mostrar los datos como quería y funcionó perfectamente. –

3

Esto funciona para mí.

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