0

我正在尝试按照Kendo 网格文档的说明创建嵌套网格

我的主网格按预期填充。Kendo 指定您必须创建一个用于显示嵌套网格的模板,例如

<script id="template" type="text/kendo-tmpl">
    @(Html.Kendo().Grid<Kendo.Mvc.Examples.Models.OrderViewModel>()
        .Name("grid_#=EmployeeID#")
        .Columns(columns =>
        {
            columns.Bound(o => o.OrderID).Width(70);
            columns.Bound(o => o.ShipCountry).Width(110);
            columns.Bound(o => o.ShipAddress);
            columns.Bound(o => o.ShipName).Width(200);
        })
        .DataSource(dataSource => dataSource
            .Ajax()
            .PageSize(5)
            .Read(read => read.Action("HierarchyBinding_Orders", 
            "Grid", new { employeeID = "#=EmployeeID#" }))
        )
        .Pageable()
        .Sortable()
        .ToClientTemplate()
)

我遇到问题的部分是

Name("grid_#=EmployeeID#")

.Read(read => read.Action("HierarchyBinding_Orders", 
                          "Grid", new { employeeID = "#=EmployeeID#" }))

EmployeeID 是一个参数,它将被传递给 GridController 中的 HierarchyBinding_Orders 操作。

当我单击网格行时,会引发异常

0x800a1391 - JavaScript 运行时错误:“EmployeeID”未定义

我究竟如何填充 EmployeeID 参数?我尝试了“EmployeeID”和“Model.EmployeeID”。我在这里错过了什么吗?

4

1 回答 1

0

Ok EmployeeID 不是我的 Kendo.Mvc.Examples.Models.OrderViewModel 的一部分,它被指定为网格要使用的模型。我将 EmployeeID 添加到这个模型中,一切都按预期工作。

于 2013-11-14T12:20:11.960 回答