2

我有一个由 web.sitemap 文件驱动的 asp:Menu 控件。

例如,菜单如下:

Fruit
- Apple
- Orange
- Strawberry

Color
- Blue
- Red
- Yellow

在站点地图中,特定的水果是“水果”siteMapNode 的子节点(颜色也是如此)。菜单设置为动态的,因此水果和颜色是静态的,特定的水果和颜色显示在弹出/弹出菜单中。父项仅用于分类目的;没有“水果”页面。

我如何使它成为“水果”和“颜色”不是链接?

4

3 回答 3

2

我最终添加了一个事件处理程序来处理这个问题。这不是很理想,但可以完成工作。

<asp:Menu ID="MyMenu" runat="server" DataSourceID="MyDataSource" 
OnMenuItemDataBound="MyMenu_MenuItemDataBound">

...

protected void MyMenu_MenuItemDataBound(object sender, MenuEventArgs e)
{
    SiteMapNode node = (SiteMapNode)e.Item.DataItem;
    if (node.ChildNodes.Count != 0)
    {
        e.Item.Selectable = false;
    }
}
于 2010-09-24T00:29:30.903 回答
0
<siteMapNode url="" title="Fruit"  description="">
  <siteMapNode url="~/Apple.aspx" title="Apple"/>
  <siteMapNode url="~/Orange.aspx" title="Orange"/>
  <siteMapNode url="~/Strawberry.aspx" title="Strawberry"/>
</siteMapNode>

与颜色一样明智

于 2010-08-25T12:28:06.033 回答
-1

只需从 siteMapNode 中删除“url”,如下所示:

<siteMapNode title="Fruit"  description="">
  <siteMapNode url="~/Apple.aspx" title="Apple"/>
  <siteMapNode url="~/Orange.aspx" title="Orange"/>
  <siteMapNode url="~/Strawberry.aspx" title="Strawberry"/>
</siteMapNode>
于 2014-05-17T21:28:16.080 回答