可以在asp.net2.0里设置treeview,使它点击节点时不刷新,既不回发吗????
1。1里的树形可以设置,2。0的在哪里设置?????

解决方案 »

  1.   

    TreeView 2.0 若设定了 Node.NavigateUrl 属性,则 SelectedNodeChanged 事件将不会被激活调用
      

  2.   

    想1。1版本时的treeview控件一样,只是选中,不激活SelectedNodeChanged 事件,可以吗?
      

  3.   

    不设定 Node.NavigateUrl  属性,你点击节点的时候就是选定状态勒
      

  4.   

    怎么没人看题回答的????只是选中,不激活SelectedNodeChanged 事件,可以吗?
      

  5.   

    Node.NavigateUrl  = "javascript:SelectNode('nodeId')", 利用SelectNode将nodeId保存到隐藏域,然后再后台处理
      

  6.   

    /// <summary>
            /// 取得应用的全部虚拟机构
            /// </summary>
            /// <param name="appId"></param>
            /// <returns></returns>
            public static TreeNode GetAllVOrgByApplicationId(string appId)
            {
                lock (CacheKey.VORG_PREFIX)
                {
                    TreeNode trNode = (TreeNode)CacheManager.Get(CACHEPRE, CacheKey.VORG_PREFIX, appId);
                    if (trNode == null)
                    {
                        VirtualOrganizationSet ds = GetByCondition("[OrgId] = [ParentId] and ApplicationId = '" + appId + "'");
                        trNode = new TreeNode();
                        if (ds.Tables[0].Rows.Count > 0)
                        {
                            DataRow dr = ds.Tables[0].Rows[0];
                            trNode.Text = dr["OrgName"].ToString().Trim();
                            trNode.Value = dr["OrgId"].ToString().Trim();
                            int i = 0;
                            System.Web.UI.Page encode = new System.Web.UI.Page();
                            trNode.NavigateUrl = "javascript:SelectNode('" + trNode.Value + "," + dr["OrgName"].ToString() + "," + i + "')";
                            RecursiveTree(trNode, ref i);
                        }
                        
                        CacheManager.AddSliding(CACHEPRE, CacheKey.VORG_PREFIX, appId, trNode);
                    }
                    return trNode;
                }
            }        /// <summary>
            /// 递归得到下级虚拟机构
            /// </summary>
            /// <param name="trVirOrg"></param>
            private static void RecursiveTree(TreeNode parentNode, ref int i)
            {
                DataSet ds = GetByCondition("OrgId <> ParentId AND ParentId='" + parentNode.Value + "' AND Status = 3");
                TreeNode treeNode = null;
                
                foreach (DataRow drItem in ds.Tables[0].Rows)
                {
                    treeNode = new TreeNode();
                    treeNode.Text = drItem["OrgName"].ToString().Trim();
                    treeNode.Value = drItem["OrgId"].ToString().Trim();
                    System.Web.UI.Page encode = new System.Web.UI.Page();
                    i++;
                    treeNode.NavigateUrl = "javascript:SelectNode('" + treeNode.Value + "," + drItem["OrgName"].ToString().Trim() + "," + i + "');";                
                    RecursiveTree(treeNode, ref i);                
                    parentNode.ChildNodes.Add(treeNode);
                }
            }
      

  7.   

    设置该节点的NavigateUrl = "http://#";
      

  8.   

    想要真正的无刷新,最好还是不设定 Node.NavigateUrl  属性
    还有尽量使用框架结构。
      

  9.   

    可是用了框架结构没法直接通过url链接页面,直接链接的页面没有框架的其它内容