左边一个树   右边一俄iframe       点击节点总是在新窗口打开       如何在iframe中打开呢?
我在treeview的target的属性设为iframe,还是不行。
如:http://authors.aspalliance.com/shark/articles/TreeView/DocTree.aspx请各位大侠帮我一下,找了很多,没有找到满意的。
谢谢大家!
QQ:88981904

解决方案 »

  1.   

    我用的是VS2005自带的treeview: 
    http://www.addtoo.net/Visitor/View.aspx
      

  2.   

    把target属性设置为你的那个iframe的ID,就OK了
    如:<iframe id="ifr" src="..."></iframe>
    然后你就把节点的target属性设置为ifr就行了
      

  3.   

    我在treeview的target的属性设为iframe,还是不行。=======
    设置 name 属性TreeNode.Target = "MyFrmName";<iframe name="MyFrmName" ....
      

  4.   

    楼上的正解,用 iframe 的 name 。
      

  5.   

    TreeNode.Target = "MyFrmName";
    在哪设置呀,没有这属性呀晓风大哥
      

  6.   

    <frameset rows="*" cols="204,*" framespacing="0" frameborder="no" border="0" name="middleset">
    <frame name="leftFrame" noresize src="left.aspx">
    <frameset rows="*" cols="5,*" framespacing="0" frameborder="NO" border="0">
    <frame src="spliter.aspx" name="spliterFrame" scrolling="NO" noresize>
    <frame name="mainFrame" src="Main.aspx">
    </frameset>
    </frameset>
      

  7.   

    #region BindTreeView
        //邦定根节点
        public void BindTreeView(string TargetFrame, DataTable dt)
        {
            DataRow[] drs = dt.Select("ParentID= " + 0);// 选出所有子节点         //菜单状态
            string MenuExpanded = LTP.Common.ConfigHelper.GetConfigString("MenuExpanded");
            bool menuExpand = bool.Parse(MenuExpanded);        TreeView1.Nodes.Clear(); // 清空树
                    foreach (DataRow r in drs)
            {
                string nodeid = r["NodeID"].ToString();
                string text = r["Text"].ToString();
                string parentid = r["ParentID"].ToString();
                string location = r["Location"].ToString();
                string url = r["Url"].ToString();
                string imageurl = r["ImageUrl"].ToString();
                int permissionid = int.Parse(r["PermissionID"].ToString().Trim());
                string framename = TargetFrame;            //treeview set
                this.TreeView1.Font.Name = "宋体";
                this.TreeView1.Font.Size = FontUnit.Parse("9");            //权限控制菜单
                if ((permissionid == -1) || (user.HasPermissionID(permissionid)))//绑定用户有权限的和没设权限的(即公开的菜单)
                {
                    TreeNode rootnode = new TreeNode();
                    rootnode.Text = text;
                    rootnode.Value = nodeid;
                    rootnode.NavigateUrl = url;
                    rootnode.Target = framename;
                    rootnode.Expanded = menuExpand;
                    rootnode.ImageUrl = imageurl;
                    rootnode.SelectAction = TreeNodeSelectAction.Expand;//和ASP.NET1.1中TREEVIEW的SelectExpands属性等效                       TreeView1.Nodes.Add(rootnode);                int sonparentid = int.Parse(nodeid);// or =location
                    CreateNode(framename, sonparentid, rootnode, dt);
                }
            }    }    //邦定任意节点
        public void CreateNode(string TargetFrame, int parentid, TreeNode parentnode, DataTable dt)
        {
            ////////用于做测试的全能用户
            string AdminUser = LTP.Common.ConfigHelper.GetConfigString("AdminUser");        DataRow[] drs = dt.Select("ParentID= " + parentid);//选出所有子节点
            foreach (DataRow r in drs)
            {
                string nodeid = r["NodeID"].ToString();
                string text = r["Text"].ToString();
                string location = r["Location"].ToString();
                string url = r["Url"].ToString();
                string imageurl = r["ImageUrl"].ToString();
                int permissionid = int.Parse(r["PermissionID"].ToString().Trim());
                string framename = TargetFrame;            //权限控制菜单
                if ((permissionid == -1) || (user.HasPermissionID(permissionid)))
                {                TreeNode node = new TreeNode();
                    node.Text = text;
                    node.Value = nodeid;
                    node.NavigateUrl = url;
                    node.Target = TargetFrame;
                    node.ImageUrl = imageurl;
                    //node.Expanded=true;
                    node.SelectAction = TreeNodeSelectAction.Expand; //和ASP.NET1.1中TREEVIEW的SelectExpands属性等效
                    int sonparentid = int.Parse(nodeid);// or =location                if (parentnode == null)
                    {
                        TreeView1.Nodes.Clear();
                        parentnode = new TreeNode();
                        TreeView1.Nodes.Add(parentnode);
                    }
                    parentnode.ChildNodes.Add(node);
                    CreateNode(framename, sonparentid, node, dt);
                }//endif        }//endforeach     }
      

  8.   

    谢谢daishengs
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            Dim ds As New Data.DataSet()
            Dim CN As New SqlConnection()
            If Not Page.IsPostBack Then
                Try
                    '初始化连接字符串
                    CN.ConnectionString = "data source=xie;initial catalog=OA;persist security info=False;user id=sa;Password=;"
                    CN.Open()
                    Dim adp As SqlDataAdapter = New SqlDataAdapter("select * from tbTree", CN)
                    adp.Fill(ds)
                    Me.ViewState("ds") = ds
                Catch ex As Exception
    #If DEBUG Then
                Session("Error") = ex.ToString()
                Response.Redirect("error.aspx")        '&#768;跳转程序的公共错误处理页面
    #End If
                Finally
                    '关闭连接
                    CN.Close()
                End Try
                CreateTree(TreeView1.Nodes, "0") '建立节点 
            End If
        End Sub
        Private Sub CreateTree(ByVal node As TreeNodeCollection, ByVal parent_id As String)
            Dim ds As Data.DataSet
            ds = Me.ViewState("ds")
            Dim dvList As New Data.DataView()
            dvList = New Data.DataView(ds.Tables(0))
            dvList.RowFilter = "PARENT_ID='" + parent_id + "'" '过滤父节点()
            Dim nodeTemp As TreeNode
            Dim dv As Data.DataRowView
            For Each dv In dvList
                nodeTemp = New TreeNode()
                'nodeTemp.ID = dv("NODE_ID").ToString()                '节点ID 
                nodeTemp.Text = dv("NODE_NAME").ToString()             '节点名称 
                nodeTemp.NavigateUrl = dv("ADDRESS").ToString()        '节点链接地址 
                nodeTemp.ImageUrl = dv("IMAGE").ToString()             '节点图片(未展开) 
                'nodeTemp.SelectedImageUrl = dv("IMAGE_EX").ToString() '节点图片(展开) 
                nodeTemp.Target = "_parent"                            '节点链接Target             node.Add(nodeTemp)                                     '加入节点 
                CreateTree(nodeTemp.nodes, dv("NODE_ID").ToString())   '递归  
            Next
        End Sub
    CreateTree(nodeTemp.nodes, dv("NODE_ID").ToString())   '递归
    这里的nodeTemp.nodes有错误,提示:"nodes" 不是 "System.Web.UI.WebControls.TreeNode" 的成员
    我应该怎么处理
    谢谢大家关注.
      

  9.   

    ,一般我不用MS的树呵呵,用COPart
      

  10.   

    提示:"nodes" 不是 "System.Web.UI.WebControls.TreeNode" 的成员=======MyTreeView.Nodes.Add(...MyTreeNode.ChildNodes.Add(...