2011-02-14 29 views
0

我有这样一个与图像按钮的菜单的用户控件:ASP.NET菜单图像子项目

<asp:TableCell ID="tcDownload" runat="server" CssClass="MyMenuTableCellDownload" VerticalAlign="Top" > 
    <asp:ImageButton ID="ibtnDownload" runat="server" ImageUrl="~/Images/MyMenu/tb_download_1.gif" 
     CssClass="MyMenuIbtn" ToolTip="Download Results" /> 
</asp:TableCell> 

在代码隐藏,我处理的onclick这些导航到另一个页面:

ibtnDownload.Attributes.Add("onclick", "document.location.href = '" + strNavUrl + "';return false"); 

别处在用户控制,我有定期的文本菜单像这样的:

<asp:TableCell ID="tcMyMenuCust" runat="server"> 
    <asp:Menu ID="menuMyCust" runat="server" StaticDisplayLevels="1" MaximumDynamicDisplayLevels="1" Orientation="Horizontal" 
      CssClass="MyMenuCustomer" StaticMenuItemStyle-ItemSpacing="0px" DynamicMenuItemStyle-CssClass="MyMenuDynamicItem" 
      StaticMenuItemStyle-CssClass="MyMenuStaticItem" DynamicHoverStyle-CssClass="MyMenuDynamicItemHover" DynamicVerticalOffset="0" 
      StaticHoverStyle-CssClass="MyMenuStaticItemHoverCust" StaticEnableDefaultPopOutImage="false" 
      DynamicPopOutImageUrl="~/Images/MyMenu/menu_arrow_grey.gif" DynamicMenuItemStyle-VerticalPadding="2" 
      DisappearAfter="0" OnMenuItemClick="menuMy_MenuItemClick"> 
     <Items> 
      <asp:MenuItem Text="Customers" ImageUrl="~/Images/MyMenu/MyMenuGradientTransparent.png" Selectable="false"> 
       <asp:MenuItem Text="Domestic&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" 
        Value="Customer_Domestic", 
        NavigateUrl="~/MyMain.aspx?_page=DomCusts&_title=DomesticCustomers"> 
       </asp:MenuItem> 
       <asp:MenuItem Text="International&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" 
        Value="Customer_International" 
        NavigateUrl="~/MyMain.aspx?_page=IndCusts&_title=InternationalCustomers"> 
       </asp:MenuItem> 
      </asp:MenuItem> 
     </Items> 
    </asp:Menu> 
</asp:TableCell> 

什么I W蚂蚁要做的就是扩展菜单选项,通过改变图像按钮的行为像常规菜单,同时保持它们的外观(图像资源)。也就是说,单击图像应该会导致子菜单下降以显示子项目。

我知道有可能使用诸如StaticEnableDefaultPopOutImage这样的属性来指示菜单项具有子项。我也明白,菜单项可以有背景图像,但是如果我只是想要使用图像而不是主菜单项上的文本,点击时会下拉子项目?

回答

0

事实证明这相当简单。在上面的示例中,我为顶级项目(“客户”)提供了一个ID,并删除了Text属性,以便仅显示ImageURL中显示的图像。