2

マスター ページに toolkitscriptmanager があるサイトで作業しています。私の問題は、server.transfer を実行するページに移動するときに発生します。私は実際に URL リダイレクトも使用していますが、私が知る限り、それは問題とは関係ありません。

コードを Response.Redirect に変更すると、ページは正常にリダイレクトされますが、それは私が探している機能ではありません。SEO に適した URL を維持する必要があります。

たとえば、Page1.aspx のコードに、Page2.aspx への Server.Transfer があるとします。私が診断したのは、スクリプト マネージャーが、閲覧しているページへのスクリプト参照を追加することです。したがって、Page2.aspx に直接移動する場合、追加されるスクリプトは次のとおりです。

<script src="/Page2.aspx?_TSM_HiddenField_=ctl00_ctl00_ToolkitScriptManager1_HiddenField... etc

ただし、Server.Transfer では、見つけようとしています。

<script src="/Page1.aspx?_TSM_HiddenField_=ctl00_ctl00_ToolkitScriptManager1_HiddenField... etc

スクリプト ファイルの最終的な宛先を使用するように ScriptManager に指示するにはどうすればよいですか? TSM で魔法の設定を使用しようと研究してきましたが、今のところうまくいきません。

4

1 に答える 1

2

掘り下げてテストした後、これを機能させることができました。head で定義したスクリプトを TSM に移動し、CompositeScripts を利用する必要がありました。

<act:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server" CombineScripts="false">
            <CompositeScript>
                <Scripts>
                    <asp:ScriptReference Path="/js/jquery.1.4.2.min.js" />
                    <asp:ScriptReference Path="/js/jquery-ui.1.8.5.min.js" />
                    <asp:ScriptReference Path="/js/jlEmbed.js" />
                </Scripts>
            </CompositeScript>
        </act:ToolkitScriptManager>

問題は、CombineScripts=true を設定すると、TSM はすべての js ファイルを独自の内部スクリプトにコンパイルし、そのスクリプトが置かれているページを参照するスクリプトを配置することです。CombineScripts=false にすると、js ファイルがコンパイルされ、個別に実行されます。また、ページ スクリプト参照に対しても実行されます。

于 2011-06-03T19:00:16.083 に答える