[英]Partial View in a column with Kendo UI grid
我想在Kendo UI网格单元中显示局部视图。
例如,我想象这样(我知道它不起作用):
@(Html.Kendo().Grid<ViewModel>()
.Name("grid")
.Columns(columns =>
{
columns.Bound(x => x.Id);
columns.Bound(x => x.Name);
columns.Bound(x => x.Field1);
columns.Template(@<text></text>)
.ClientTemplate(
"<div>'" + Html.Partial("_MyPartialView", x.SubViewModel) + "</div>");
})
.DataSource(dataSource => dataSource
.Ajax()
.Model(model => model.Id(x => x.Id))
.Read(read => read.Action("Read", "Home"))
)
)
我发现我可以用jQuery做到这一点,它将呈现对Action Method的调用。 但是,有最简单的方法吗?
提前致谢。
我使用ClientRowTemplate来实现与上述相似的功能。
查看此文档: http : //demos.telerik.com/aspnet-mvc/grid/rowtemplate
基本上,我在局部视图中定义行模板,然后像这样渲染局部:
@(Html.Kendo().Grid(Model).Name("usersManageGrid")
.Columns(columns =>
{
columns.Bound(c => c.LoginId).Visible(false);
columns.Bound(c => c.FullName).Title("Name").Width(120);
columns.Bound(c => c.Email).Title("Username");
}).ClientRowTemplate(Html.Partial("_TestPartial").ToHtmlString()))
您仍然可以指定并绑定到其他列,如文档所示。 如果您希望像往常一样,也可以传入子视图模型。
.ClientRowTemplate(Html.Partial("_TestPartial",x.SubViewModel).ToHtmlString())
包含行模板的局部视图如下所示:
<tr data-uid='#: LoginId #'>
<td>
<span class='description'><b>Name</b> : #: FullName# </span>
</td>
<td>
@Html.Partial("_Test2Partial")
</td>
</tr>
然后,您将看到我为第二列渲染了另一个局部视图,其中包含以下内容:
<span style="color:purple;"><b>Email</b> : #: Email# </span>
最终结果如下所示:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.