ASP.NET:每次在特定级别添加树节点

ASP.NET:每次在特定级别添加树节点,asp.net,treeview,Asp.net,Treeview,我在页面上有一个树状视图,我想在某些事件上更新/添加节点- 例如,我有一个下拉列表,我有复选框列表,等等。 Treeview已定义级别为0的节点。 我只想在下拉菜单上添加一个节点作为节点0的子节点\u selectedIndexchanged事件。 为此,我正在这样做- aspx页面上的树视图 <asp:TreeView ID="tv1" runat="server"> <Nodes> <asp:TreeNode Text="parent" Va

我在页面上有一个树状视图,我想在某些事件上更新/添加节点- 例如,我有一个下拉列表,我有复选框列表,等等。 Treeview已定义级别为0的节点。 我只想在下拉菜单上添加一个节点作为节点0的子节点\u selectedIndexchanged事件。 为此,我正在这样做-

aspx页面上的树视图

<asp:TreeView ID="tv1" runat="server">
   <Nodes>
       <asp:TreeNode Text="parent" Value="" ShowCheckBox="False"></asp:TreeNode>
   </Nodes>
</asp:TreeView>
我看到了问题,但不知道如何解决。 问题是-我只想在tv1 treeview的0级添加一个子节点


我该怎么做呢?

由于下拉菜单的“AutoPostBack”属性设置为false,它可能无法工作。只有将此属性设置为true时,事件处理程序才会激发。以下代码适用于我

        <asp:DropDownList ID="dropdown" runat="server" AutoPostBack="True" OnSelectedIndexChanged="dropdown_SelectedIndexChanged">
            <asp:ListItem>One</asp:ListItem>
            <asp:ListItem>Two</asp:ListItem>
        </asp:DropDownList>
    <asp:TreeView ID="tv1" runat="server">
   <Nodes>

       <asp:TreeNode Text="parent" Value="" ShowCheckBox="False"></asp:TreeNode>
   </Nodes>
</asp:TreeView>

谢谢,但是每次触发此事件时都会执行此代码,我只希望在节点[0]上有一个子节点。您可以使用一些javascript或jqeury在客户端执行此操作,这是避免服务器往返的一个选项,但如果要保存值,则取决于您的场景,这样,服务器端逻辑就更容易实现。[编辑隐藏代码]您可以在添加之前清除子节点
        <asp:DropDownList ID="dropdown" runat="server" AutoPostBack="True" OnSelectedIndexChanged="dropdown_SelectedIndexChanged">
            <asp:ListItem>One</asp:ListItem>
            <asp:ListItem>Two</asp:ListItem>
        </asp:DropDownList>
    <asp:TreeView ID="tv1" runat="server">
   <Nodes>

       <asp:TreeNode Text="parent" Value="" ShowCheckBox="False"></asp:TreeNode>
   </Nodes>
</asp:TreeView>
        protected void dropdown_SelectedIndexChanged(object sender, EventArgs e)
        {
            tv1.Nodes[0].ChildNodes.Clear();
            tv1.Nodes[0].ChildNodes.Add(new TreeNode(dropdown.SelectedValue));
        }