1

ここに私の問題があります: asp:TreeView コントロールとサイトマップを使用してメニューを描画する Web ページがあります。

<asp:TreeView ID="CatalogTreeViewControl" runat="server" DataSourceID="dsSiteMap">
</asp:TreeView>
<asp:SiteMapDataSource runat="server" ID="dsSiteMap" ShowStartingNode="False" SiteMapProvider="MyXmlSiteMapProvider"/>

これは魅力のように機能しますが、TreeView の代わりに asp:Menu コントロールを使用したいので、次のようにします。

<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 に答える