这些内容比较简单,但是比较容易忘记。特写下来帮助记忆:(这里用的是TreeView和XmlDataSource绑定的例子)
第一种:对属性的值直接进行绑定。
首先 :拉一个TreeView到页面上,ID命名为"TrvLeft"。然后在后台进行绑定,
代码如下:
XmlDataSource XmlDb = new XmlDataSource();
XmlDb.DataFile = "Menu.xml";
trvLeft.DataSource = XmlDb;
TreeNodeBinding tnb = new TreeNodeBinding();
tnb.DataMember = "MenuItem";
tnb.TextField = "Text";
tnb.NavigateUrlField = "NavigateUrl";
tnb.ImageUrlField = "ImageUrl";
trvLeft.DataBindings.Add(tnb);
trvLeft.DataBind();
其中Menu.xml的内容如下:
<?xml version="1.0" encoding="utf-8" ?>
<MenuItem Text="主菜单" NavigateUrl="Index.aspx" ImageUrl="main.gif">
<MenuItem Text="一级菜单" NavigateUrl="#" ImageUrl="Images/1.gif">
<MenuItem Text="二级菜单" NavigateUrl="#" ImageUrl="Images/1.gif"></MenuItem>
<MenuItem Text="二级菜单" NavigateUrl="#" ImageUrl="Images/1.gif"></MenuItem>
</MenuItem>
</MenuItem>
<MenuItem Text="主菜单" NavigateUrl="Index.aspx" ImageUrl="main.gif">
<MenuItem Text="一级菜单" NavigateUrl="#" ImageUrl="Images/1.gif">
<MenuItem Text="二级菜单" NavigateUrl="#" ImageUrl="Images/1.gif"></MenuItem>
<MenuItem Text="二级菜单" NavigateUrl="#" ImageUrl="Images/1.gif"></MenuItem>
</MenuItem>
</MenuItem>
第二种:递归树查询赋值:
public void Bind()
{
trvLeft.Nodes.Clear();
XmlDataSource xds = new XmlDataSource();
xds.DataFile = "Menu.xml";
XmlDocument xmlDocument = xds.GetXmlDocument();
//把根节点的东东和treeView实例根节点群丢进去递归
BindXmlToTreeView(xmlDocument.DocumentElement, trvLeft.Nodes);
}
public void BindXmlToTreeView(XmlNode node, TreeNodeCollection tnc)
{
//获得节点字段值
string text = ((XmlElement)node).GetAttribute("name");
string Value = node.Name;
tnc.Add(new TreeNode(text, Value));
foreach (XmlNode n in node.ChildNodes)
{
//指向子节点和父节点的子节点群
BindXmlToTreeView(n, tnc[tnc.Count - 1].ChildNodes);
}
不过要修改里面部分的代码来绑定相应的属性。