首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在ASP.NET上设置treeview的子节点回发false?

问如何在ASP.NET上设置treeview的子节点回发false?
EN

Stack Overflow用户
提问于 2012-04-09 19:06:10
回答 3查看 7.5K关注 0票数 1

我有一个树视图,我不想在单击任何childnodes.And时回发,我将获得所选子节点的值。我找到了一个解决方案,当我设置"node_.SelectAction = TreeNodeSelectAction.None;“时,我不能选择任何子节点,也不能突出显示它。

等待你关于我的helps.Sorry。

Aspx:

代码语言:javascript
复制
<asp:TreeView ID="TreeView1" runat="server"></asp:TreeView>

政务司司长:

代码语言:javascript
复制
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);
    }
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-04-09 19:35:23

您可以像这样设置TreeView子节点的CSSClass

代码语言:javascript
复制
      <asp:TreeView LeafNodeStyle-CssClass="childnode" runat="server">....</asp:TreeView>

然后使用jquery获取get类并设置return false,如follow。

代码语言:javascript
复制
      $(".childnode").click(function(){
                 return false;
      })

...same方式你可以设置RootNodeStyle-CssClass,ParentNodeStyle-CssClass类,并使用jquery来设置它们...

票数 6
EN

Stack Overflow用户

发布于 2016-08-29 15:18:42

您可以删除链接的href (‘a’)标记属性以停止回发

代码语言:javascript
复制
$('#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. 通过使用inspect元素获取包含树表的开发id:
  2. 从所选子节点获取详细信息。
  3. 在获取子节点的详细信息后,删除属性"href“以避免回发。
  4. 使用所选节点的详细信息执行任何功能(例如使用ajax传递所选值)
票数 0
EN

Stack Overflow用户

发布于 2018-06-29 18:36:16

代码语言:javascript
复制
TreeNode tn = new TreeNode();

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

这两种方法都不会导致回发。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10072289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档