我有一个启用了ajax的kendo网格,其中包含一个客户端模板,该模板显示绑定行的模型中的数据。 (因为ajax,使用columns.Template似乎不可能。)
@(Html.Kendo().Grid<Model>()
.Columns(columns =>
{
columns.Bound(x => x.SubModel).ClientTemplate("bla #= SomePropertyOfSubModel # bla")
})
.DataSource(dataSource => dataSource.Ajax())
这基本上有效,但我对结果不满意。例如,我在模板工作中制作kendo控件时遇到问题。我宁愿在客户端模板中挂起局部视图,但没有成功。我得到的最远的是
columns.Bound(x => x.SubModel).ClientTemplate(Html.PartialView("view", //??) //how to bind to SubModel?
.ToHtmlString())
感谢任何帮助。
答案 0 :(得分:2)
我认为你的剑道控制模板需要.ToClientTemplate()
,
view.cshtml
@(Html.Kendo().NumericTextBox()
.Name("NameHere")
.Min(0)
.HtmlAttributes(new { style = "width:200px" })
.ToClientTemplate()
)
然后,
columns.Bound(c => c.SubModel).ClientTemplate(Html.Partial("view").ToHtmlString());
修改强>:
如果要将模型绑定到局部视图,可以执行
columns.Bound(c => c.SubModel.Property).Template(@<text>Html.Partial("view", item.SubModel)</text>);
答案 1 :(得分:0)
这是完成此任务的另一种方法。
@(Html.PageElement().Kendo().Grid<myModel>()
.Name("GridName")
.Columns(col =>
Html.RenderPartial("Partials/_myDamnedPartial", col)