【发布时间】:2011-06-24 09:24:14
【问题描述】:
我目前有一个 asp 菜单控件,它在我的母版页中加载一个 SiteMapDataSource。站点地图节点之一是“工具”,它会打开一个通用的“Tools.aspx”内容页面。
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode url="~/Default.aspx" title="Home" description="">
<siteMapNode url="Tools.aspx" title="Tools" description="" />
</siteMapNode>
</siteMap>
“Tools.aspx”页面包含一个图像按钮,可将用户带到另一个内容页面“Translator.aspx”。导航到此页面时,不再选择“工具”菜单项。我的问题是,如何在“Translator.aspx”页面的母版页中选择“工具”菜单项?
我在“Translator.aspx”页面加载中尝试了以下方法:
protected void Page_Load(object sender, EventArgs e)
{
//check if logged in
if (!Page.IsPostBack)
{
Menu mp_Menu = (Menu)Page.Master.FindControl("mnuMaster");
foreach (MenuItem mi in mp_Menu.Items)
{
if (mi.Text == "Tools")
{
mi.Selected = true;
}
}
}
}
这不起作用,似乎返回了 0 个菜单项。
如果有人能对这个问题有所了解,我将不胜感激。谢谢。
【问题讨论】:
-
我认为如果你的翻译器“是一个工具”,你可以把它放在工具节点中..
-
我不希望“翻译”工具作为子菜单提供。我怎样才能做到这一点?谢谢。
-
尝试在节点中添加
隐藏(未测试) -
感谢您的帮助,但 visible="false" 也不起作用。也许我需要循环遍历子项?
标签: c# select menu sitemap master