【问题标题】:ASP.net menu only show certain nodes in Web.sitemapASP.net 菜单仅显示 Web.sitemap 中的某些节点
【发布时间】:2011-02-23 12:59:19
【问题描述】:

我的 Web.sitemap 文件中有一些依赖于查询字符串或会话变量的项目。 我不希望这些项目出现在我的菜单中。

有没有办法从菜单中隐藏它,但仍然在站点地图中(用于站点路径控制)。

谢谢

【问题讨论】:

    标签: c# asp.net menu sitemap


    【解决方案1】:

    当我想阻止节点出现时,我使用了这篇文章,我发现这篇文章很棒:

    http://runtingsproper.blogspot.com/2009/11/i-bet-you-didn-know-that-adding-custom.html

    ASP.NET 确实具有控制要显示哪些节点的功能,但我相信这与成员资格/角色有关。

    【讨论】:

    • 很遗憾,我无法访问您提供的链接。浏览器显示“网络错误(dns_unresolved_hostname)”。你知道替代链接吗?
    【解决方案2】:

    解决了...

    我刚刚将要隐藏的 siteMapNode 的标题设置为“[hidden]”。在 .cs 文件中,站点地图控件位于我这样做...

    protected void rmMenu_ItemDataBound(object sender, RadMenuEventArgs e)
    {
        if (e.Item.Text == "[hidden]")
        e.Item.Remove();
    }
    

    【讨论】:

      【解决方案3】:

      我相信你使用属性 show="false",像这样:

      <siteMapNode show="false" url="~/admin/submissionsaddedit.aspx" title="Add/Edit Submission"  description="" roles="Administrator, Shortlister, Moderator"/>
      

      【讨论】:

      • 抱歉,我是从一个我不太熟悉的工作项目中获取的。实际控件中似乎有一些代码可以显示检查“show”属性的导航:即,如果“node[”show”] != null && node[“show”].ToString() = 则跳过它= "假""
      猜你喜欢
      • 1970-01-01
      • 2013-02-01
      • 2014-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多