我正在尝试按照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”。我在这里错过了什么吗?
答案 0 :(得分:0)
Ok EmployeeID不是我的Kendo.Mvc.Examples.Models.OrderViewModel的一部分,它被指定为网格使用的模型。我将EmployeeID添加到此模型中,一切都按预期工作。