关于TREEVIEW的ONSELECTEDNODECHANGED事件

MSDN:http://msdn.microsoft.com/zh-cn/library/system.web.ui.webcontrols.treeview.selectednodechanged(VS.80).aspx

只有节点(Node)的SelectAction被设定为Select时才能够触发该事件,而TreeView的DataSource如果为siteMap则默认该属性值为None,并且如果节点(Node)的Target属性被设定为一个url则会忽略OnSelectedNodeChanged,而直接跳转到该url

因此使用siteMap作为TreeView的数据源时,添加OnTreeNodeDataBound事件的回调方法,将上诉2个属性进行变更


 1         protected void TreeNodeDataBound(object sender, TreeNodeEventArgs e)
 2         {
 3             if (!String.IsNullOrEmpty(e.Node.NavigateUrl))
 4             {
 5                 /* 如果Node的url不为空则表示该Node表征的是页面,清除该Node指向的target,重设SelectAction
 6                 以保证点击该节点时能够触发SelectedNodeChanged */
 7                 e.Node.Target = String.Empty;
 8                 e.Node.SelectAction = TreeNodeSelectAction.Select;
 9             }
10 
原文地址:https://www.cnblogs.com/yzl495/p/4175685.html