为kendo ui网格列定义自定义模板
我有一个kendo ui网格,我想绑定图像。 这是我的代码:
@model List @(Html.Kendo().TabStrip() .Name("tabstripMarketWatch") .Items(tabstrip => { tabstrip.Add().Text("Market Rates") .Selected(true) .Content( @ @if (Model != null) { @(Html.Kendo().Grid(Model) .Name("Grid") .Columns(columns => { columns.Template( @ @if (item.direction == 1) { } else if (item.direction == 0) { } ).Title(""); columns.Bound(p => p.symbol); columns.Bound(p => p.bid); columns.Bound(p => p.ask); }) //.Groupable() //.Pageable() .Sortable() .Scrollable() //.Filterable() .DataSource(dataSource => dataSource .Ajax() .Read(read => read.Action("Products_Read", "MarketWatch")) ) ) } ); tabstrip.Add().Text("Cubes") .Content(@ 18ºC
Cubes
); }) ) #tabstripMarketWatch-1, #tabstripMarketWatch-2 { /* tabstrip element */ position: absolute; top: 41px; bottom: 0; left: 0; right: 0; width: auto; height: auto; } #Grid { top: 0; bottom: 0; left: 0; right: 0; width: 100%; height: 100%; }
对于以下部分:
columns.Template( @ @if (item.direction == 1) { } else if (item.direction == 0) { } ).Title("");
我得到“内联标记块不能嵌套。只允许一级内联标记。” 错误。
我需要做些什么才能成功渲染网格?
提前致谢,
columns.Bound(p => p.bid).ClientTemplate("<# if(direction == 1) {#>" + "" + "<#} else if(direction == 0) {#>" + "" + "<#}#>") .Title("End").Width(80);
这是因为剃刀看到了多个模板块,它为标签找到了这个:
.Content( @ @if (Model != null) { ..
和网格:
columns.Template( @ @if (item.direction == 1) {
Razor不喜欢这样。 尝试使用@Samuel链接的方法,即使用辅助方法呈现网格,并在您的tabstrip中调用该帮助程序。