目的是生成一個數狀菜單,菜單內容放在xml文件中
Menu.xml:
<?xml version="1.0" encoding="utf-8" ?>
<menu-root>
<menu-node>繫統設置
<menu-node target="" url="">站別建檔</menu-node>
<menu-node target="" url="">3B3參數種類建檔</menu-node>
<menu-node target="" url="">繫統參數設定</menu-node>
</menu-node>
<menu-node>基本建檔
<menu-node target="" url="">用戶建檔</menu-node>
<menu-node target="" url="">3B3參數建檔</menu-node>
</menu-node>
<menu-node target="" url="">3B3</menu-node>
</menu-root>Menu.aspx.cs:
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
XmlDocument doc = new XmlDocument();
doc.Load(System.Web.HttpContext.Current.Request.PhysicalApplicationPath+"Menu.xml");
foreach(XmlNode node in doc.ChildNodes)
{
switch(node.NodeType)
{
case XmlNodeType.Element:
{
if (node.HasChildNodes) GetParentNode(node);
break;
}
default:
break;
}
}
} /// <summary>
/// 獲得父節點
/// </summary>
/// <param name="rootNode"></param>
public void GetParentNode(XmlNode rootNode)
{
foreach(XmlNode node in rootNode.ChildNodes)
{
parentNode = new Prolink.Web.UI.DefaultTreeNode(node.Value,false);
if (node.HasChildNodes)
{
GetChildNode(node,parentNode);
//menuTree.Nodes.Add(parentNode);
}
else
{
menuTree.Nodes.Add(parentNode);
}
}
} /// <summary>
/// 獲得子節點
/// </summary>
/// <param name="parentNode"></param>
/// <param name="parentNode1"></param>
public void GetChildNode(XmlNode parentNode, Prolink.Web.UI.DefaultTreeNode parentNode1)
{
foreach(XmlNode node in parentNode.ChildNodes)
{
childNode = new Prolink.Web.UI.DefaultTreeNode(node.Value,false);
parentNode1.Nodes.Add(childNode);
}
menuTree.Nodes.Add(parentNode1);
}
--------------------------------------------------------------------
為何不能獲得每個節點裏麵的value,值獲得的會為null,請問我這方法是不是哪裏有問題,Prolink.Web.UI.DefaultTreeNode是一個自定義控件
Menu.xml:
<?xml version="1.0" encoding="utf-8" ?>
<menu-root>
<menu-node>繫統設置
<menu-node target="" url="">站別建檔</menu-node>
<menu-node target="" url="">3B3參數種類建檔</menu-node>
<menu-node target="" url="">繫統參數設定</menu-node>
</menu-node>
<menu-node>基本建檔
<menu-node target="" url="">用戶建檔</menu-node>
<menu-node target="" url="">3B3參數建檔</menu-node>
</menu-node>
<menu-node target="" url="">3B3</menu-node>
</menu-root>Menu.aspx.cs:
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
XmlDocument doc = new XmlDocument();
doc.Load(System.Web.HttpContext.Current.Request.PhysicalApplicationPath+"Menu.xml");
foreach(XmlNode node in doc.ChildNodes)
{
switch(node.NodeType)
{
case XmlNodeType.Element:
{
if (node.HasChildNodes) GetParentNode(node);
break;
}
default:
break;
}
}
} /// <summary>
/// 獲得父節點
/// </summary>
/// <param name="rootNode"></param>
public void GetParentNode(XmlNode rootNode)
{
foreach(XmlNode node in rootNode.ChildNodes)
{
parentNode = new Prolink.Web.UI.DefaultTreeNode(node.Value,false);
if (node.HasChildNodes)
{
GetChildNode(node,parentNode);
//menuTree.Nodes.Add(parentNode);
}
else
{
menuTree.Nodes.Add(parentNode);
}
}
} /// <summary>
/// 獲得子節點
/// </summary>
/// <param name="parentNode"></param>
/// <param name="parentNode1"></param>
public void GetChildNode(XmlNode parentNode, Prolink.Web.UI.DefaultTreeNode parentNode1)
{
foreach(XmlNode node in parentNode.ChildNodes)
{
childNode = new Prolink.Web.UI.DefaultTreeNode(node.Value,false);
parentNode1.Nodes.Add(childNode);
}
menuTree.Nodes.Add(parentNode1);
}
--------------------------------------------------------------------
為何不能獲得每個節點裏麵的value,值獲得的會為null,請問我這方法是不是哪裏有問題,Prolink.Web.UI.DefaultTreeNode是一個自定義控件
解决方案 »
- 网上很流行的调用谷歌地图的例子S.Sams.GoogleMap,是ASP.NET Web Application,其中bin文件夹里的dll不是很明白
- 数据库截取字符串和视图的问题
- asp.net报错。请高手们帮我看看~
- 顶高温烈阳,问关于menu样式的一个问题,望高手不吝回复。谢谢!!!
- 我如何在服务器端的脚本中使用客户端脚本的返回值
- 如何给gridview 添加一行
- 出错了,谁能告诉我是哪里有问题?
- 兄弟们,苦呀
- 有关模板列的绑定
- 如何从asp页面中直接获得outlook的联系本中的联系人?
- 两个WEB程序之间的通信
- 在线向高手求救:我有一个sessionID,怎么样让该sessionID所对应的会话过期!
<?xml version="1.0" encoding="utf-8" ?>
<menu-root>
<menu-node-root name="繫統設置">
<menu-node target="" url="">站別建檔</menu-node>
<menu-node target="" url="">3B3參數種類建檔</menu-node>
<menu-node target="" url="">繫統參數設定</menu-node>
</menu-node-root>
<menu-node-root name="基本建檔">
<menu-node target="" url="">用戶建檔</menu-node>
<menu-node target="" url="">3B3參數建檔</menu-node>
</menu-node-root>
<menu-node name = "其他">
<menu-node target="" url="">3B3</menu-node>
</menu-node-root>
</menu-root>
<?xml version="1.0" encoding="utf-8" ?>
<menu-root>
<menu-node Target="" NavigateUrl="" Text="繫統設置">
<menu-node Target="" NavigateUrl="" Text="站別建檔" />
<menu-node Target="" NavigateUrl="" Text="3B3參數種類建檔" />
<menu-node Target="" NavigateUrl="" Text="繫統參數設定" />
</menu-node>
<menu-node Target="" NavigateUrl="" Text="基本建檔">
<menu-node Target="" NavigateUrl="" Text="用戶建檔" />
<menu-node Target="" NavigateUrl="" Text="3B3參數建檔" />
</menu-node>
<menu-node Target="" NavigateUrl="" Text="3B3" />
</menu-root>
现在问题又出来了,当我用parentNode.Nodes.Add(childNode)时会叫我发送错误报告,自动关闭vs.net,天啊,这是什么问题???