treeview与xml文件操作
来源:互联网 发布:测噪音软件 编辑:程序博客网 时间:2024/05/17 09:37
xml配置文件如下(URL地址并未全部填写,主要用于测试):
<?xml version="1.0" encoding="utf-8" ?>
<menu>
<住房信息 >
<住房管理>~/Web/Default.aspx</住房管理>
<职工住房信息 >~/Web/Default2.aspx</职工住房信息 >
<职工货币化管理 > </职工货币化管理 >
<职工货币化查看 > </职工货币化查看>
</住房信息>
<家具数据管理>
<家具数据维护></家具数据维护>
</家具数据管理>
<系统文章管理>
<系统文章维护> </系统文章维护>
</系统文章管理>
<教职工信息>
<教职工信息维护></教职工信息维护>
</教职工信息>
<系统操作>
<退出系统></退出系统>
</系统操作>
</menu>
页面绑定数据代码:
<asp:TreeView ID="TreeView1" runat="server" DataSourceID="XDS" OnSelectedNodeChanged="TreeView1_SelectedNodeChanged" NodeIndent="8">
<ParentNodeStyle BackColor="White" ChildNodesPadding="5px" Font-Bold="False" Font-Italic="False" />
<RootNodeStyle Font-Bold="True" ForeColor="#000040" Font-Size="13pt" />
<NodeStyle Font-Bold="False" />
<LeafNodeStyle Font-Bold="False" Font-Size="11pt" ForeColor="Teal" />
</asp:TreeView>
<asp:XmlDataSource ID="XDS" runat="server" DataFile="~/Web/Master/gp_menu.xml" XPath="/menu/*">
</asp:XmlDataSource>
后台的单击代码:
protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
{
XmlDocument XDoc = new XmlDocument();
XDoc.Load(Server.MapPath("~/Web/Master/gp_menu.xml")); //获得menu配置文件
XmlNodeList XNodeList = XDoc.DocumentElement.ChildNodes; //获得该文件跟节点的所有子节点
List<string> list = new List<string>(); //定义一个list用来保存父节点
XmlNode XNode;
int i; //简单计数功能
for (i = 0; i < XNodeList.Count; i++ ) //遍历所有根结点的子节点也就是菜单中的父节点
{
XNode = XNodeList.Item(i);
list.Add(XNode.Name); //将节点的名字加入到list中
}
TreeNode sltNode = TreeView1.SelectedNode;
bool isParent = false;
//查看选择节点是否为父节点
for (i = 0; i < list.Count; i++ )
{
if (list[i] == sltNode.Text)
{
sltNode.ToggleExpandState(); //选择节点为父节点时,使该节点在展开和折叠状态转换
isParent = true; //标记该节点为父节点
sltNode.Selected = false; //如果不设置为false 当连续点击同一个父节点时不会触发该函数
break;
}
}
//选择结点为子节点
if (false == isParent)
{
string dpath = "";
string url = "";
dpath = sltNode.DataPath; //获得选择结点的路径
// eg. /*[position()=1]/*[position()=2]/*[position()=1] 选择了第二个父节点的第一个子节点
dpath = dpath.Substring(30, 1); //获得 第二层路径的深度值(从1开始计数的)
XNode = XNodeList.Item(Convert.ToInt32(dpath) - 1);
url = XNode[sltNode.Text].InnerText; //获得选择节点的值(即页面地址)
Response.Redirect(url); //跳转页面
}
}
- treeview与xml文件操作
- treeview与xml文件的相互操作
- C#TreeView控件与XML相关操作
- TreeView 绑定XML文件
- 数据库 xml treeview 的操作
- treeview如何使用XML文件
- XML 文件读到TreeView上
- C#.net--xml与Treeview
- QT xml 文件操作与 文件复制
- treeView 与数据库的操作
- 用TreeView显示XML文件的结构
- C#中用Treeview空间显示XML文件
- Silverlight TreeView 动态绑定Xml 文件
- 解析xml文件和使用TreeView空间
- AJAX与PHP操作XML文件
- XML文件解析&操作&与JSON比较
- [winform]操作文件与xml常用方法
- XML与TreeView控件的交互
- Microsoft Enterprise Library 5.0 is coming
- 验证码识别,最新Discuz验证码和PhpWind验证码的识别
- 鸡肋
- 在VC中添加响应自定义的消息(转)
- 数据库
- treeview与xml文件操作
- 电脑高手必修SVCHOST.exe进程
- 第一次上这个论坛
- 千个常用DOS命令全面收藏
- Win7正式版全国首评
- 陕西100怪
- mysql换数据库后hbm.xml的catalog造成的问题
- 在终端设置Ubuntu声音
- 初来乍到,请多关照