1

所以这是我的问题:我有一个使用 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,så 我这样做:

<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 集合,因为该控件包含代码块(即 <% ... %>)。

我在这里做错了什么?

4

1 回答 1

1

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

“控件集合无法修改,因为控件包含代码块”

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

于 2013-01-31T09:44:52.533 回答