I have two menus in a user control that are sharing the same SiteMapXmlFile. I'm attempting to use the RenderRootItemId to show the submenu of what is selected in the first menu control. for both menus. It renders correctly on first load but on a postback I receive an error "No Item found with Id 'L2Reports'". Here is the html markup (nothing in code behind). I've tried version 2009.2 and 2009.3 with same results.
<%@ Control Language="vb" AutoEventWireup="false" CodeBehind="Menu.ascx.vb" Inherits="RBC.Website.Menu2.Menu" %>
<%@ Register Assembly="ComponentArt.Web.UI" Namespace="ComponentArt.Web.UI" TagPrefix="ComponentArt" %>
<div>
<ComponentArt:Menu ID="MenuLevel1" runat="server" RenderDrillDownDepth="1" DefaultItemLookId="Unselected" DefaultSelectedItemLookId="Selected" DefaultChildSelectedItemLookId="Selected" AutoPostBackOnSelect="true" SiteMapXmlFile="~/MenuN.xml">
</ComponentArt:Menu>
</div>
<div>
<ComponentArt:Menu ID="MenuLevel2" runat="server" RenderRootItemId="L2Reports" RenderDrillDownDepth="1" DefaultItemLookId="Unselected" DefaultSelectedItemLookId="Selected" DefaultChildSelectedItemLookId="Selected" AutoPostBackOnSelect="true" SiteMapXmlFile="~/MenuN.xml">
</ComponentArt:Menu>
</div>
<?xml version="1.0" encoding="utf-8" ?>
<SiteMap>
<item Id="L2Reports" Text="Reports" Value="~/Reports/AlarmReport.ascx">
<item Id="L3ReportsDeflection" Text="Deflection" Look-LeftIconUrl="menu-deflect.gif" Value="~/Reports/AlarmReport.ascx" >
<item Id="Alarm" Text="Alarm" Look-LeftIconUrl="menu-alarm.gif" Value="~/Reports/AlarmReport.ascx" ></item>
<item Id="Autozero" Text="Autozero" Look-LeftIconUrl="menu-autozero.gif" Value="~/Reports/AutoZero.ascx" ></item>
<item Id="Startup" Text="Startup" Look-LeftIconUrl="menu-startup.gif" Value="~/Reports/StartUp.ascx" ></item>
<item Id="Time" Text="Time" Look-LeftIconUrl="menu-time.gif" Value="~/Reports/Time.ascx" ></item>
<item Id="Frequency" Text="Frequency" Look-LeftIconUrl="menu-freq.gif" Value="~/Reports/Frequency.ascx" ></item>
<item Id="Shutdown" Text="Shutdown" Look-LeftIconUrl="menu-shutdown.gif" Value="~/Reports/StartUp.ascx" ></item>
<item Id="Resultant" Text="Resultant" Look-LeftIconUrl="menu-resultant.gif" Value="~/Reports/ForceVectorReport.ascx" ></item>
<item Id="Polar" Text="Polar" Look-LeftIconUrl="menu-polar.gif" Value="~/Reports/PolarReport.ascx" ></item>
<item Id="XY" Text="X-Y" Look-LeftIconUrl="menu-xy.gif" Value="~/Reports/AmpsDeflectsReport.ascx" ></item>
<item Id="Stats" Text="Stats" Look-LeftIconUrl="menu-stats.gif" Value="~/Reports/Stats.ascx" ></item>
<item Id="Summary" Text="Summary" Look-LeftIconUrl="menu-summary.gif" Value="~/Reports/SummaryReport.ascx" ></item>
<item Id="Health" Text="Health" Look-LeftIconUrl="menu-health.gif" Value="~/Reports/Health.ascx" ></item>
<item Id="Maintenance" Text="Maintenance" Look-LeftIconUrl="menu-maint.gif" Value="~/Reports/MaintenanceReport.ascx" ></item>
</item>
<item Id="L3ReportsAccelerometers" Text="Accelerometers" Look-LeftIconUrl="menu-accel.gif" NavigateUrl="~/ReportAccelerometers.aspx" Value="~/Reports/TimeAccelReport.ascx" >
<item id="u" Text="Deflection" Look-LeftIconUrl="menu-time.gif" NavigateUrl="~/ReportAccelerometers.aspx" Value="~/Reports/TimeAccelReport.ascx" ></item>
<item id="v" Text="Frequency" Look-LeftIconUrl="menu-freq.gif" NavigateUrl="~/ReportAccelerometers.aspx" Value="~/Reports/FrequencyAccelReport.ascx"></item>
</item>
</item>
</SiteMap>
The stack trace:
[Exception: No item found with ID "L2Reports".]
ComponentArt.Web.UI.Menu.GetStartGroupItems() +198
ComponentArt.Web.UI.Menu.BuildStorage() +61
ComponentArt.Web.UI.Menu.ComponentArtRender(HtmlTextWriter output) +1362
ComponentArt.Web.UI.WebControl.Render(HtmlTextWriter output) +51
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27