在kendo网格中使用mvc显示模板

时间:2013-01-17 14:05:24

标签: c# asp.net-mvc razor kendo-ui kendo-grid

我有Kendo网格:

@(Html.Kendo().Grid<SomeType>()
.Columns(columns =>
{
    (...)
    columns.Bound(customer => customer.IsActive);
}

我有一个mvc显示模板(Views / Shared / DisplayTemplate / bool.cshtml)

@model bool
@Html.CheckBoxFor(model => model, new { disabled = "true" })

(我也尝试使用Boolean作为类型和模板文件名)

这在网格外完美地工作但是在网格中显示true / false(来自我想的默认mvc显示模板)。

如何让kendo网格使用合适的显示模板?

(设置UIHint无效)

2 个答案:

答案 0 :(得分:2)

尝试这样的事情:

columns.Bound(p => p.GrasaDielectrica).ClientTemplate("<input type='checkbox' #= GrasaDielectrica ? checked='checked' : '' # disabled='disabled' ></input>")

答案 1 :(得分:0)

我找到了一种方法,但这远非理想,因为ViewModel仅必须具有string个成员才能起作用。...而且我们实际上只是在使用局部视图...

DisplayTemplate.cshtml

@model ViewModel
@Html.Partial("PartialView", Model)

PartialView.cshtml

@model ViewModel
@* write schtml here *@

KendoGuid.cshtml

...
.Columns(columns =>
{
    columns.Bound(x => x.GridViewModelField)
        .ClientTemplate("PartialView", new ViewModel
        {
            ViewModelField = "#=GridViewModelField#",
        }).ToHtmlString());
})
...