カスタム ユーザー コントロールにコントロール (AjaxToolkit SliderExtender など) を動的に追加すると、多くの場合エラーが発生します。コード ブロック (<%$ %>
など) のため、Controls コレクションは変更できません。これはプレースホルダーを使用している場合でも発生します。
根本的な原因は、ユーザー コントロールのマークアップ内での Response.Write スタイルのコード ブロックの使用です。 これらはデータ バインディング式に変換する必要があります。
<%$
で始まるすべてのコード ブロックを検索し、<%#
で始まるように変更します。 例:
<code>``` should become ```</code>
この重要な変更により、コードがサーバー側の Response.Write ステートメントからデータ バインディング式に変換され、動的コントロールの追加との競合が解決されます。
以上がコード ブロックが原因でユーザー コントロールのコントロール コレクションを変更できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。