0

ユーザーコントロールに次のようなコードがあります。

<asp:PlaceHolder id="ph1" runat="server">
    <script type="text/javascript">
        jQuery(function() {
            doSomethingAwesome();
        });
    </script>
</asp:PlaceHolder>

PlaceHolder コントロールの内容を取得したい。このコントロールがオンになっているページの OnPreRender で取得しようとしています。PlaceHolder の内容は単一の Literal コントロールであると予想していましたが、Controls コレクションは空です。

サーバー側で PlaceHolder コントロールの内容を取得するにはどうすればよいですか?

4

2 に答える 2

2

サーバー コントロール内にないため、リテラル コンテンツはサーバー上に存在しません。

スクリプトをサーバー上で表示する必要がある場合は、「ru​​nat=server」プロパティ セットを使用してサーバー コントロール内にスクリプトを明示的に配置する必要があります。

于 2009-10-06T15:45:02.840 に答える
0

クライアント側でコンテンツを取得するには、次のことができます

$('#ph1').html()

ユーザーコントロールが原因である可能性が高い名前付けコンテナーを使用している場合

$('#<%=ph1.ClientID%>').html()
于 2009-10-06T15:46:47.233 に答える