以编程方式将css类添加到asp:menu

时间:2013-05-29 22:17:04

标签: aspmenu-control

我有一个包含数据源的菜单作为站点地图。哪个工作正常。我需要根据内容添加一些选项。首先,如果是外部链接,添加“Target = _blank”并添加第二个css类,它将显示一条警告的弹出消息。所以我添加了MenuItemDataBound事件,该事件适用于“Target = _blank”,因为我看到了target属性并且能够在事件中设置。但是我怎么能添加第二个css类。如果将第二个css类添加到DynamicMenuItemStyle-CssClass属性,该属性适用于所有菜单项。

<asp:Menu ID="mnu1" runat="server" DataSourceID="smdsMenu1" Orientation="Horizontal"
      DynamicMenuStyle-CssClass="MenuStyle" ItemWrap="true" DynamicMenuItemStyle- CssClass="MenuItem"
      DynamicHoverStyle-CssClass="MenuItemHighlight" OnMenuItemDataBound="Menu_MenuItemDataBound" >

     Protected Sub Menu_MenuItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.MenuEventArgs)
If CType(e.Item.DataItem, SiteMapNode)("urltarget") <> "" Then
  e.Item.Target = CType(e.Item.DataItem, SiteMapNode)("urltarget")
End If
End Sub

在Event函数中,我通过“e.Item.Target”完成在新窗口中打开的外部链接,但是没有用于设置CssClass的属性。

0 个答案:

没有答案