创建嵌套的Kendo网格时未定义的参数

时间:2013-11-14 11:23:30

标签: asp.net-mvc-4 kendo-ui kendo-grid

我正在尝试按照Kendo grid documentation

的说明创建嵌套网格

我的主网格按预期填充。 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”。我在这里错过了什么吗?

1 个答案:

答案 0 :(得分:0)

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