0

aspxページからascxコントロールに移行するときに、大量のヘッダーインクルードをコードビハインドに移動し、RegisterClientScriptBlocksでラップし、linqを使用して大きな複数行を整理しました。

<%serverside.code%>ただし、インライン宣言が実行されていないことに気づきました。

ClientScript.RegisterClientScriptBlock(GetType(Page), "test", <a><![CDATA[
        <script type="text/javascript">
            testValue = '<%=Page.Title%>';
        </script>]]></a>, True)

生産する;

<script type="text/javascript">
  testValue = '<%=Page.Title%>';
</script>
4

1 に答える 1

0

これを解決するために、cdataブロックを.Valueで終了し、コード変数を追加してから、残りの複数行ステートメントで新しいcdataブロックを開始しました。

ClientScript.RegisterClientScriptBlock(GetType(Page), "test", <![CDATA[
    <script type="text/javascript">
        testValue = ']]>.Value + Page.Title + <![CDATA[';
        //more code
    </script>
  ]]>.Value, True)
于 2013-01-23T23:14:24.810 に答える