1

OnSelectedNodeChanged イベントを使用して正常に動作する asp.net ツリービューがありますが、同じノードをもう一度クリックしても起動しません。これを回避する方法はありますか?

ツリー表示:

<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
}
4

5 に答える 5

5

ねえ、これを試してみてください。

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

それがあなたを助けることを願っています

于 2013-05-09T10:09:29.727 に答える
0

私によると、任意のコントロールの OnSelectedNodeChanged イベントは、コントロール名のようなイベント名を持つそのコントロールの ID になるため、tvSOWASPイベントはそうでtvSOWASP_SelectedNodeChangedはないので、私のコードでイベントをSelectNode変更しますSelectedNodeChanged

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

あなたのコードからあなたを削除し、OnSelectedNodeChanged="SelectNode"それはクリックイベントでもあり、私が述べたように新しいイベントを作成してみてください。

それが理解し、あなたのために働いたことを願っています。

于 2013-05-09T10:12:10.347 に答える
-1

e.Node.Collapse(); を使用します。treeView_TreeNodeExpanded で

于 2016-06-06T16:02:21.950 に答える