1

ASP.NET 3.5 SP1は、このビデオで示されているように、ScriptManagerオブジェクトに優れた新しいScriptCombining機能を追加します。ただし、彼は同じページのScriptManagerで機能を使用する方法を示しているだけです。スクリプトマネージャーがマスターページにあるサイトでこの機能を使用したいのですが、各ページに必要なスクリプトをプログラムでマネージャーに追加する方法がわかりません。この投稿を出発点として使用することを見つけましたが、それほど遠くはありません。誰かが私に助けを与えることができますか?

ありがとう、ダン

4

2 に答える 2

2

これを試してみてください:

    ScriptReference SRef = new ScriptReference();
    SRef.Path = "~/Scripts/Script.js";


    ScriptManager.GetCurrent(Page).CompositeScript.Scripts.Add(SRef);

これにより、(マスター ページ上にある場合でも) 現在のスクリプト マネージャーが取得され、CompositeScript プロパティへのスクリプト参照が追加されます。

于 2008-11-06T18:33:16.963 に答える
1

You can also do this in markup using ScriptManagerProxy.

You can add the ScriptManager to the master page e.g.

<asp:ScriptManager ID="ScriptManager" runat="server">
    <CompositeScript>
    <Scripts>
        <asp:ScriptReference name="WebForms.js" assembly="System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
        <asp:ScriptReference name="MicrosoftAjax.js" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <asp:ScriptReference name="MicrosoftAjaxWebForms.js" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    </Scripts>
    </CompositeScript>
</asp:ScriptManager>

And then add the ScriptManagerProxy to the content page e.g.

<asp:Content ID="HomeContent" ContentPlaceHolderID="PlaceHolder" runat="Server">
    <asp:ScriptManagerProxy runat="server">
        <CompositeScript>
        <Scripts>
            <asp:ScriptReference Path="~/yourscript.js" />
        </Scripts>
        </CompositeScript>
    </asp:ScriptManagerProxy>
于 2011-01-07T04:50:07.083 に答える