如何设置在ASP.NET TreeView的childnode回传假?(How to set tre

2019-09-16 10:03发布

我有一个TreeView和我想上单击我会选择childnode价值的childnodes.And没有回发。 我发现一种解决方案,当我设置“node_.SelectAction = TreeNodeSelectAction.None;” 我不能选择任何的childNodes并在其上没有亮点。

等待我的连接您的helps.Sorry。

ASPX:

<asp:TreeView ID="TreeView1" runat="server"></asp:TreeView>

CS:

TreeView1.Nodes.Clear();
TreeView1.TreeNodeExpanded += new TreeNodeEventHandler(TreeView1_TreeNodeExpanded);

DataTable dt = ImzaDll.Imza.KategorileriGetir(true);

foreach (DataRow row in dt.Rows)
{
   TreeNode node_ = new TreeNode();
   node_.Text = row["ACIKLAMA"].ToString();
   node_.Value = row["KATEGORI"].ToString();
   TreeView1.Nodes.Add(node_);
}



void TreeView1_TreeNodeExpanded(object sender, TreeNodeEventArgs e)
{
   addChildNodes(e.Node);
}



private void addChildNodes(TreeNode node)
{
    DataTable dt = ImzaDll.Imza.KutuphaneBasliklariGetir(true, node.Value.ToString());

    foreach (DataRow row in dt.Rows)
    {
        TreeNode childNode = new TreeNode();
        childNode.Text = row["BASLIK"].ToString();
        childNode.Value = row["KUTUPHANE_ID"].ToString();
        childNode.ToolTip = row["BASLIK"].ToString() + " kütüphanesini ekle";
        childNode.Target = "_new";


        node.ChildNodes.Add(childNode);
    }
}

Answer 1:

您可以设置类似树状的子节点的CssClass

      <asp:TreeView LeafNodeStyle-CssClass="childnode" runat="server">....</asp:TreeView>

然后使用jquery也就得到类并将返回false样的后续。

      $(".childnode").click(function(){
                 return false;
      })

......同样的方式,你可以设置RootNodeStyle-的CssClass,ParentNodeStyle-的CssClass类,并使用jQuery来设置他们...



Answer 2:

你可以删除链接的href(“A”)标记属性停止后回

$('#ctl00_ContentPlaceHolder1_tvHierarchyView table tr td>a').click(function () {  
      var treeViewData = window["<%=tvHierarchyView.ClientID%>" + "_Data"];        
      if (treeViewData.selectedNodeID.value != "") {      
            var selectedNode=document.getElementById(treeViewData.selectedNodeID.value);    
            var value = selectedNode.href.substring(selectedNode.href.indexOf(",") + 3, selectedNode.href.length - 2);                  
            var text = selectedNode.innerHTML;  
          alert("Text: " + text + "\r\n" + "Value: " + value);  
       } else {  
               alert("No node selected.")  
          }  
              $(this).removeAttr("href");

          ///  ...................... rest of your code

}); ///  End of click function    
}); /// End of document ready function

下面步骤说明:

  1. 获取机号通过使用检查元素包含树表:
  2. 获得从选择的子节点的详细信息。
  3. 取子节点的详细信息后,删除该属性的“href”,以避免回发。
  4. 做任何功能,你用什么选择的节点的细节做的(例如,通过使用AJAX选择的值)


Answer 3:

TreeNode tn = new TreeNode();

tn.SelectAction = TreeNodeSelectAction.None; OR tn.SelectAction = TreeNodeSelectAction.Expand;

这两个不会导致回发。



文章来源: How to set treeview's childnode postback false on ASP.NET?