استخدام ScriptCombining من خلال ScriptManager على الصفحة الرئيسية

StackOverflow https://stackoverflow.com/questions/268432

سؤال

يضيف ASP.NET 3.5 SP1 ميزة ScriptCombining جديدة رائعة إلى كائن ScriptManager كما هو موضح في هذا الفيديو.ومع ذلك فهو يوضح فقط كيفية استخدام الميزة مع ScriptManager على نفس الصفحة.أرغب في استخدام هذه الميزة على موقع يوجد فيه مدير البرامج النصية على الصفحة الرئيسية ولكن لا يمكنني معرفة كيفية إضافة البرامج النصية التي أحتاجها لكل صفحة برمجيًا إلى المدير.لقد وجدت هذا المشنور لاستخدامها كنقطة بداية، لكنني لا أتقدم كثيرًا حقًا.هل يمكن لأحد أن يقدم لي يد المساعدة؟

شكرا دان

هل كانت مفيدة؟

المحلول

وتعطي هذه رصاصة واحدة:

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


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

والتي سوف تحصل على scriptmanager الحالية (حتى لو كان على صفحة رئيسية) وإضافة مرجع نصي لخصائص CompositeScript.

نصائح أخرى

يمكنك أيضًا القيام بذلك في الترميز باستخدام ScriptManagerProxy.

يمكنك إضافة ScriptManager إلى الصفحة الرئيسية على سبيل المثال.

<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>

ثم قم بإضافة ScriptManagerProxy إلى صفحة المحتوى على سبيل المثال.

<asp:Content ID="HomeContent" ContentPlaceHolderID="PlaceHolder" runat="Server">
    <asp:ScriptManagerProxy runat="server">
        <CompositeScript>
        <Scripts>
            <asp:ScriptReference Path="~/yourscript.js" />
        </Scripts>
        </CompositeScript>
    </asp:ScriptManagerProxy>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top