我在与 Treeview 相同的页面上有一个 Kendo Gridview。Gridview 包含与当前用户关联的客户端行。当 Gridview 中的一个客户端行被选中时,我触发 Treeview 再次读取 DataSource(selectedClient 是 Gridview 中的一行被选中时设置的 js 变量):
$("#folderTreeView").data("kendoTreeView").dataSource.read({ userId: _selectedClient })
TreeView 的重新绑定工作完美。问题是当新的 TreeView 具有带有嵌套文件夹的文件夹结构时。单击“展开”图标时,仅传递项目的 id,但我还需要从 GridView 传递当前选择的客户端(存储在 _selectedClient 中)。
那么,有没有办法在“展开”事件期间或以其他方式将附加参数(在这种情况下为 userId/_selectedClient)添加到传递给服务器的“任何内容”?
控制器
[HttpPost]
public virtual JsonResult List(int? userId, int? id)
{
....
}
剃刀
@(Html.Kendo().TreeView()
.Name("folderTreeView")
.DataTextField("Name")
.DataSource(dataSource => dataSource
.Read(read => read.Action("List", "Folder", new { area = "Portal" }).Type(HttpVerbs.Post)
)
)
.Events(events => events
.Expand("onSelect")
)
)