I'm using the Carbon Skin example so the links would have to be done from the XML like this unless you know of a more appropriate way:
In my WebUserControl.ascx User Control:
<%@ Control Language="VB" AutoEventWireup="false" CodeFile="WebUserControl.ascx.vb" Inherits="COOMenu_WebUserControl" %>
<%@ Register assembly="ComponentArt.Web.UI" namespace="ComponentArt.Web.UI" tagprefix="ComponentArt" %>
<script type="text/javascript">
//<![CDATA[
// Opens a new browser window with the specified URL
function openWindow(url) {
var newWin = window.open(url, 'newWin');
}
</script>
<ComponentArt:Menu ID="Menu1" runat="server" SiteMapXmlFile="menuData.xml" CssClass="top"
ExpandOnClick="true" DefaultGroupCssClass="mnu" DefaultItemLookId="ItemLook"
DefaultItemTextWrap="True">
<ItemLooks>
<ComponentArt:ItemLook LookId="TopItemLook" CssClass="itm" HoverCssClass="itm-h"
ActiveCssClass="itm-a" ExpandedCssClass="itm-e" />
<ComponentArt:ItemLook LookId="ItemLook" CssClass="itm" HoverCssClass="itm-h" />
<ComponentArt:ItemLook LookId="BreakItemLook" CssClass="br" />
</ItemLooks>
<ClientTemplates>
<ComponentArt:ClientTemplate ID="ExpandItemTemplate">
<div>
<div class="lbl">
<span class="shd">## DataItem.get_text(); ##</span>
<span class="txt">## DataItem.get_text(); ##</span>
</div>
<span class="exp"></span>
</div>
</ComponentArt:ClientTemplate>
<ComponentArt:ClientTemplate ID="ItemTemplate">
<div>
<div class="lbl">
<span class="shd">## DataItem.get_text(); ##</span>
<span class="txt">## DataItem.get_text(); ##</span>
</div>
</div>
</ComponentArt:ClientTemplate>
</ClientTemplates>
</ComponentArt:Menu>
In my
menuData.xml:
<?xml version="1.0" encoding="utf-8" ?>
<sitemap>
<item Text="Not Linked" ToolTip="Not Linked" LookId="TopItemLook">
<item Text="Not linked" ClientTemplateId="ExpandItemTemplate">
<item Text="Linked Item" ToolTip="This is a linked Item" ClientTemplateId="ItemTemplate" ClientSideCommand="openWindow('http://www.asp.net');" />
</item>
</sitemap>
Would this be the proper way to activate links from the xml file? Also, how would I write the js to use the same window instead of opening a new window:
<script type="text/javascript">
//<![CDATA[
// Opens a new browser window with the specified URL
function openWindow(url) {
var newWin = window.open(url, 'newWin');
}
</script>
Is there a way to make this happen in a VB codebehind page instead?
Thanks for the help!
TT