使用asp Menu控件时,无法修改Controls集合错误

时间:2013-01-31 09:29:01

标签: asp.net menu sitemap

所以这是我的问题: 我有一个使用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;)。

我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

我很久以前就遇到了这个问题。我将我的javascript从head标签移动到表单标签,它解决了问题。这些链接对我帮助很大:

"The Controls collection cannot be modified because the control contains code blocks"

http://leedumond.com/blog/the-controls-collection-cannot-be-modified-because-the-control-contains-code-blocks/