所以这是我的问题: 我有一个使用asp:TreeView控件和站点地图绘制菜单的网页。
<asp:TreeView ID="CatalogTreeViewControl" runat="server" DataSourceID="dsSiteMap">
</asp:TreeView>
<asp:SiteMapDataSource runat="server" ID="dsSiteMap" ShowStartingNode="False" SiteMapProvider="MyXmlSiteMapProvider"/>
这就像魅力,但我想使用asp:Menu控件而不是TreeView,我这样做:
<asp:TreeView ID="CatalogTreeViewControl" runat="server" DataSourceID="dsSiteMap" Visible="False">
</asp:TreeView>
<asp:Menu ID="Menu1" runat="server" DataSourceID="dsSiteMap"></asp:Menu>
<asp:SiteMapDataSource runat="server" ID="dsSiteMap" ShowStartingNode="False" SiteMapProvider="MyXmlSiteMapProvider"/>
但是这会导致以下错误:
无法修改Controls集合,因为控件包含代码块(即&lt;%...%&gt;)。
我在这里做错了什么?
答案 0 :(得分:1)
我很久以前就遇到了这个问题。我将我的javascript从head标签移动到表单标签,它解决了问题。这些链接对我帮助很大:
"The Controls collection cannot be modified because the control contains code blocks"