<asp:TreeView ID="TreeView1" runat="server" DataSourceID="XmlDataSource1"
Height="131px" Width="201px">
<Nodes>
<asp:TreeNode Text="新建节点" Value="新建节点">
<asp:TreeNode Text="新建节点" Value="新建节点"></asp:TreeNode>
</asp:TreeNode>
</Nodes>
</asp:TreeView><asp:XmlDataSource ID="XmlDataSource1" runat="server"
DataFile="~/ascx/XMLFile.xml" >
<Transform>
</Transform>
</asp:XmlDataSource>---ascx/XMLFile.xml"
<Root name="root" title="分类">
<Node Value="aspx/ConsumeClass.aspx" Text="分类"/>
<Node Value="aspx/ConsumeItem.aspx" Text="明细"/>
<Node Value="aspx/ConsumeList.aspx" Text="列表"/>
</Root>怎么绑定 我想要按树状显示绑定到TreeView1上
Height="131px" Width="201px">
<Nodes>
<asp:TreeNode Text="新建节点" Value="新建节点">
<asp:TreeNode Text="新建节点" Value="新建节点"></asp:TreeNode>
</asp:TreeNode>
</Nodes>
</asp:TreeView><asp:XmlDataSource ID="XmlDataSource1" runat="server"
DataFile="~/ascx/XMLFile.xml" >
<Transform>
</Transform>
</asp:XmlDataSource>---ascx/XMLFile.xml"
<Root name="root" title="分类">
<Node Value="aspx/ConsumeClass.aspx" Text="分类"/>
<Node Value="aspx/ConsumeItem.aspx" Text="明细"/>
<Node Value="aspx/ConsumeList.aspx" Text="列表"/>
</Root>怎么绑定 我想要按树状显示绑定到TreeView1上
Height="131px" Width="201px" TreeNodeSrc="http://localhost/ascx/XMLFile.xml">
用的是 System.web.ui.webcontrol.treeview
要不你用c#解析xml来绑定
只能用下面这种节点的格式<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode title="Home" description="">
<siteMapNode title="Admin" description="">
<siteMapNode title="发单" description="">
<siteMapNode url="~/NewBusiness.aspx" title="取件发单" description="" />
<siteMapNode url="~/NewSignin.aspx" title="派件发单" description="" />
<siteMapNode url="~/Default.aspx" description="" />
</siteMapNode>
<siteMapNode title="取件查看" description="">
<siteMapNode url="~/Business.aspx" title="已上传的有单取件信息" description="" />
<siteMapNode url="~/AbnormalBusiness.aspx" title="已上传的取件异常信息" description="" />
<siteMapNode url="~/WDBusiness.aspx" title="已上传的无单取件信息" description="" />
</siteMapNode>
<siteMapNode title="派件查看" description="">
<siteMapNode url="~/Signin.aspx" title="已上传的有单派件签收信息" description="" />
<siteMapNode url="~/AbnormalSignin.aspx" title="已上传的有单派件异常信息" description="" />
<siteMapNode url="~/WDSignin.aspx" title="已上传的无单派件签收信息" description="" />
<siteMapNode url="~/AbnormalWDSignin.aspx" title="已上传的无单派件异常信息" description="" />
</siteMapNode>
<siteMapNode title="统计信息" description="">
<siteMapNode url="~/Stat.aspx" title="取派员信息" description="" />
</siteMapNode>
</siteMapNode>
</siteMapNode>
</siteMap>
<ContentTemplate>
<asp:TreeView ID="TreeView1" Target="mainFrame" ForeColor="#215dc6" NodeIndent="5" runat="server" ShowLines="true" DataSourceID="XmlDataSource1" ExpandDepth="1" OnSelectedNodeChanged="TreeView1_SelectedNodeChanged" OnDataBound="TreeView1_DataBound" >
</asp:TreeView>
</ContentTemplate>
</asp:UpdatePanel>
<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/App_Data/XMLFile.xml">
</asp:XmlDataSource>TreeNodeBinding root = new TreeNodeBinding();
root.DataMember = "root";
root.ValueField = "name";
root.ImageUrlField = "title";
this.TreeView1.DataBindings.Add(root);
TreeNodeBinding subroot = new TreeNodeBinding();
subroot.DataMember = "";
subroot.ValueField = "";
subroot.TextField = "";
subroot.ImageUrlField = "";
this.TreeView1.DataBindings.Add(subroot);
TreeNodeBinding content = new TreeNodeBinding();
content.DataMember = "Node";
content.ValueField = "#InnerText";
content.NavigateUrlField = "url";
this.TreeView1.DataBindings.Add(content);
//树形菜单绑定
private void BindTreeView(TreeNodeCollection Nds, int IDStr)
{
OleDbConnection sqlConn = DB.CreateConn(); sqlConn.Open();
OleDbCommand sqlCmd = new OleDbCommand("select * from Tree where ParentNodesID=" + IDStr.ToString() + " order by ShunXu asc,PerNeed asc", sqlConn);
OleDbDataReader sqlReader = sqlCmd.ExecuteReader(); while(sqlReader.Read())
{
if (IDStr == 0)
{
TreeNode OrganizationNode = new TreeNode();
OrganizationNode.Text = " " + sqlReader["NodeTitle"].ToString();
OrganizationNode.Value = sqlReader["TreeID"].ToString();
int strId = int.Parse(sqlReader["TreeID"].ToString());
OrganizationNode.ImageUrl = sqlReader["ImageUrl"].ToString();
OrganizationNode.SelectAction = TreeNodeSelectAction.Expand;
OrganizationNode.Expanded = false;
Nds.Add(OrganizationNode);
BindTreeView(Nds[Nds.Count - 1].ChildNodes, strId);
}
else
{
TreeNode OrganizationNode = new TreeNode();
OrganizationNode.Text = " " + sqlReader["NodeTitle"].ToString();
OrganizationNode.Value = sqlReader["TreeID"].ToString();
int strId = int.Parse(sqlReader["TreeID"].ToString());
OrganizationNode.ImageUrl = sqlReader["ImageUrl"].ToString();
OrganizationNode.NavigateUrl = sqlReader["LinkUrl"].ToString();
OrganizationNode.Target = "rform";
OrganizationNode.Expanded = false;
Nds.Add(OrganizationNode);
BindTreeView(Nds[Nds.Count - 1].ChildNodes, strId);
}
}
数据库里把节点名称、页面地址、节点图标 、顺序 等存进去就可以了
<DataBindings>
<asp:TreeNodeBinding DataMember="首页" NavigateUrlField="url" TextField="#Name" />
<asp:TreeNodeBinding DataMember="新闻首页" NavigateUrlField="url" TextField="#Name" />
<asp:TreeNodeBinding DataMember="添加新闻" NavigateUrlField="url" TextField="#Name" />
<asp:TreeNodeBinding DataMember="编辑新闻" NavigateUrlField="url" TextField="#Name" />
<asp:TreeNodeBinding DataMember="产品首页" NavigateUrlField="url" TextField="#Name" />
<asp:TreeNodeBinding DataMember="添加产品" NavigateUrlField="url" TextField="name" />
</DataBindings>
</asp:TreeView>
<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/tree.xml"></asp:XmlDataSource>xml:<?xml version="1.0" encoding="utf-8" ?>
<首页 url="~/Default.aspx">
<新闻首页 url="~/newsindex.aspx">
<添加新闻 url="News/add.aspx"/>
<编辑新闻 url="News/edit.aspx"/>
</新闻首页>
<产品首页 url="Product/Default.aspx">
<添加产品 url="Product/add.aspx" name="添加产品"/> </产品首页>
</首页>
<Root name="root" title="分类">
<Node Value="aspx/ConsumeClass.aspx" Text="分类"/>
<Node Value="aspx/ConsumeItem.aspx" Text="明细"/>
<Node Value="aspx/ConsumeList.aspx" Text="列表"/>
</Root>一:单击treeview上的小三角形,再单击编辑treenode数据绑定,打开treeview databindings 编辑器对话框;datamember 添node;navigateurlfield 填value ;textfield 填 text;
二:
在页面加载事件中写:
//根节点
TreeNode tnroot = new TreeNode();
tnroot.Text = "分类";
tnroot.Value = "Root";
tnroot.NavigateUrl = "~/你的链接"; //父节点
TreeNode tnparent = new TreeNode();
tnparent.Text = "Text";
tnparent.Value = "Node";
tnparent.NavigateUrl = "aspx/ConsumeClass.aspx";
tnroot.ChildNodes.Add(tnparent);
//子节点以此类推
treeview1.nodes.add(tnroot);
treeview1.expandall();