2013-05-09 48 views
0

我有一个使用OnSelectedNodeChanged事件并可以正常工作的asp.net treeview,但是如果再次单击相同的节点,它不会触发任何想法如何获得这个?Asp.Net Treeview选择相同的节点不会触发

树形:

<asp:TreeView ID="tvSOWASP" runat="server" ImageSet="Arrows" 
     ShowLines="True" OnTreeNodePopulate="PopulateNode" OnSelectedNodeChanged="SelectNode"> 
      <HoverNodeStyle Font-Underline="True" ForeColor="#5555DD" /> 
      <Nodes> 
       <asp:TreeNode Expanded="True" ImageUrl="~/tree2/icons/book.gif" 
        SelectAction="None" Text="Schemes Of Work" Value="Schemes Of Work"> 
       </asp:TreeNode> 
      </Nodes> 
      <NodeStyle Font-Names="Verdana" Font-Size="8pt" ForeColor="Black" 
       HorizontalPadding="5px" NodeSpacing="0px" VerticalPadding="0px" /> 
      <ParentNodeStyle Font-Bold="False" /> 
      <SelectedNodeStyle Font-Underline="True" ForeColor="#5555DD" 
       HorizontalPadding="0px" VerticalPadding="0px" />  
     </asp:TreeView> 

代码隐藏:

protected void SelectNode(Object sender, EventArgs e) 
{ 
    // Code here, ok when select any node, select same node and this code is not hit 
} 
+0

把你的代码更好的答案.. – Rahul 2013-05-09 09:39:39

+0

已经完成但代码没有真正相关,因为它的OnSelectedNodeChanged事件不会触发时,同样的节点再次点击。 – user1166905 2013-05-09 10:03:14

回答

5

嘿,请尝试这一个。

protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e){ 
// Do whatever you're doing 
TreeView1.SelectedNode.Selected = false; 
} 

希望它可以帮助你

+0

不希望这样做,因为需要显示哪个节点被选中,除非当时装饰节点的简单方法使其看起来像它被选中? – user1166905 2013-05-09 10:18:23

0

据我任何控制的OnSelectedNodeChanged活动将是我们需要您的控件名称事件名称该控件的ID是tvSOWASP所以它的活动将是tvSOWASP_SelectedNodeChangedSelectNode这样的变化您SelectedNodeChanged事件与我类似的代码

protected void tvSOWASP_SelectedNodeChanged(object sender, EventArgs e) 
{ 
// Your code... 
} 

所以从你的代码中删除您的OnSelectedNodeChanged="SelectNode"也是它的单击事件,并设法使一个新的事件为p呃我提到过。

希望它理解并为你工作。

+0

为什么我会删除可用的代码,使用这个代码无论如何都不起作用。代码工作的问题是,当选定的节点被改变时,事件被触发,所以当再次点击时,选定的节点没有改变,所以事件不会以任何方式被触发。 – user1166905 2013-05-09 10:36:10

0

当你再次点击同一节点时,它不会触发,因为第二次选择没有改变,所以selectednodechanged事件不会触发。

请参阅this link

+0

无论如何,从c#中的该链接获取该代码 – user1166905 2013-05-09 13:18:16

-1

使用e.Node.Collapse();在treeView_TreeNodeExpanded