3

マスター ページで asp.net スクリプト マネージャーを使用して js ファイルを追加します。子ページの 1 つで、特定の js ファイルを除外したくありません。asp.netで可能ですか?

たとえば、マスター ページのコード

    <asp:ScriptManager runat="server" EnablePageMethods="true"  EnablePartialRendering="true" ID="id" OnResolveScriptReference="sm_ResolveScriptReference">
    <Scripts>
        <asp:ScriptReference Path="~/scripts/jquery-1.4.2.min.js" /> 
         <asp:ScriptReference Path="~/scripts/jquery.bgiframe.min.js" />
        <asp:ScriptReference Path="~/scripts/tax.js" />
        <asp:ScriptReference Path="~/scripts/old.js" />
        <asp:ScriptReference Path="~/scripts/menu.js" />
    </Scripts>
</asp:ScriptManager>

1つの子ページからold.jsを除外したい.これが役立つことを願っています

4

2 に答える 2

4

ScriptManagerあなたの内側をワープし、あなたPlaceHolderがそれを変える必要があるときはPlaceHolder、子供にこれを含めてください。例えば:

 <asp:ContentPlaceHolder id="ScrMang" runat="server">        
     <asp:ScriptManager runat="server" EnablePageMethods="true"  EnablePartialRendering="true" ID="id" OnResolveScriptReference="sm_ResolveScriptReference">
    <Scripts>
        <asp:ScriptReference Path="~/scripts/jquery-1.4.2.min.js" /> 
         <asp:ScriptReference Path="~/scripts/jquery.bgiframe.min.js" />
        <asp:ScriptReference Path="~/scripts/tax.js" />
        <asp:ScriptReference Path="~/scripts/old.js" />
        <asp:ScriptReference Path="~/scripts/menu.js" />
    </Scripts>
     </asp:ScriptManager>       
   </asp:ContentPlaceHolder>

子では、この行を含めると、ScriptManagerが削除されます。もちろん、ロードする別のスクリプトに再度含めることができます。

<asp:Content ID="Content3" ContentPlaceHolderID="ScrMang" Runat="Server">
</asp:Content>

2番目の解決策は、同じ方法でネストされたマスターページを作成し、PlaceHolder内にScriptManagerを含め、最初のページを親としてMasterPageを作成し、含まれるスクリプトを変更することです。次に、マスターページを取得するページと、さまざまなスクリプトでネストされたマスターページを取得するページを選択します。

于 2012-07-03T13:52:58.767 に答える
0

マスターページには、デフォルトのコンテンツをタグに含めることができます。マスターページがサブページによって使用され、デフォルトのコンテンツを持つコンテンツプレースホルダーへの参照が含まれていない場合、デフォルトのコンテンツがその場所にレンダリングされます。

この場合、マスターページにスクリプトのコンテンツプレースホルダーを作成します。次に、スクリプトを表示したくないページで、スクリプトでを指すコンテンツアイテムを作成します。これにより、その特定のページで使用されているスクリプトを「オーバーライド」できます。

于 2012-07-03T13:44:58.697 に答える