在我的 ASP.NET Web Forms 应用程序中,我有一个 download.aspx 页面 Pane 布局。在左侧 Pane 中,我有一个 TreeView 控件,在右侧 Pane 中,一旦用户选择叶节点,我就会显示一些内容。
如果用户(未登录)点击需要授权的TreeView叶节点,用户将被发送到登录组件 strong>,执行登录后,会重定向到 download.aspx,TreeView 未展开。
我想通过将用户(登录后)重定向到下载页面来更改此行为,其中 TreeView 已展开,就像之前她/他被发送到登录组件一样。
我没有设计页面,也从未广泛使用 TreeView。由于我没有看到任何查询字符串,我的第一个猜测是节点扩展是由JavaScript(或 JScript)处理程序管理的,该处理程序处理onExpand TreeView 事件并从数据库异步获取子节点。但我不确定它是否能像那样工作。
我的想法是创建一个 session 状态对象Session["downloadTVdepth"],每次用户展开一个节点时,我都会以某种方式存储她/他已经到达的节点。因此,当从登录组件重定向到 downloads.aspx 时,代码会检查是否存在 Session["downloadTVdepth"] 值,并最终伸展树(Splay Tree)。
我的方法正确吗?如何获取有关展开的 TreeView 节点的信息?如何在用户不实际展开节点的情况下启动 onExpand 事件?
最佳答案
Treeview 有 onSelectedNodeChanged 事件,您可以在http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.treeview.selectednodechanged.aspx查看它
关于asp.net - 如何获取TreeView控件中当前展开的节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9411614/