2010-08-24 112 views
1

我有一個asp:由web.sitemap文件驅動的菜單控件。ASP.NET:菜單使父項非超鏈接?

例如,菜單是這樣的:

Fruit 
- Apple 
- Orange 
- Strawberry 

Color 
- Blue 
- Red 
- Yellow 

在站點地圖,特定水果的「水果」的SiteMapNode(同樣爲顏色)的孩子的菜單是設置爲動態的,所以水果和顏色是靜態的,具體的水果和顏色出現在彈出/彈出式菜單中。父項僅用於分類目的;沒有「水果」頁面。

我該如何製作「水果」和「顏色」不是鏈接?

回答

1

我結束了添加事件處理程序來處理這個問題。這並不是很理想,但它完成了這項工作。

<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; 
    } 
} 
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> 

像明智的顏色

+0

我已經試過了,但是當我這樣做整個水果菜單消失。 – User 2010-08-26 02:02:00

-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>