代码之家  ›  专栏  ›  技术社区  ›  User

ASP.NET:菜单是否使父项成为非超链接?

  •  2
  • User  · 技术社区  · 14 年前

    我有一个asp:菜单控件由一个网站地图文件。

    例如,菜单如下:

    Fruit
    - Apple
    - Orange
    - Strawberry
    
    Color
    - Blue
    - Red
    - Yellow
    

    3 回复  |  直到 14 年前
        1
  •  2
  •   User    14 年前

    我最后添加了一个事件处理程序来处理这个问题。虽然不太理想,但确实很管用。

    <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;
        }
    }
    
        2
  •  0
  •   Baharanji    14 年前
    <siteMapNode url="" title="Fruit"  description="">
      <siteMapNode url="~/Apple.aspx" title="Apple"/>
      <siteMapNode url="~/Orange.aspx" title="Orange"/>
      <siteMapNode url="~/Strawberry.aspx" title="Strawberry"/>
    </siteMapNode>
    

    像智慧的颜色

        3
  •  -1
  •   Jaber    11 年前

    只需从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>