سؤال

أود الحصول على بعض من ScriptManager الميزات الجديدة Asp.net نموذج MVC:

1 - السيناريو الجمع بين
2 - حل مسارات مختلفة الخارجية ملفات جافا سكريبت
3 - صغر ضغط Gzip

هنا هو ما وجدته ولكن لست متأكدا من هو أفضل طريقة MVC النهج.بشكل عام ما هو نهج جيد للتعامل مع شفرة جافا سكريبت في MVC النموذج ؟

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

المحلول

وربما يمكن أن مجرد إنشاء وحدة تحكم جديدة "مخطوطات" مع إجراءات مختلفة تخدم مجموعات مختلفة من ملفات JS مضغوط. منذ تم تصميم MVC مع نهج الموارد المنحى، أي عناوين المواقع هي الآن في مركز نموذج البرمجة الخاصة بك، لماذا لا تحدد محددات بسيطة لجافاسكريبتس الخاص بك أيضا؟

في وجهات نظركم، على سبيل المثال يمكن أن تشير إلى الملفات الخاصة بك مثل هذا:

<script src="http://your_domain/scripts/all"/>

وهذا من شأنه أن استدعاء الطبيب 'كل' العمل، مما أدى إلى طرده كل ما تبذلونه من الملفات النصي مضغوط.

وبطبيعة الحال سوف تحتاج إلى رمز الجمع وضغط في الوقت الراهن، أو ربما إعادة استخدام Scriptmanager داخليا، وأنا لا أعرف ما إذا كان من الممكن.

وهذا هو مجرد فكرة على الرغم من إعلان يمكنني الرجوع إلى ملفات جافا سكريبت الفردية مباشرة في الصفحات الرئيسية الخاصة بي.

نصائح أخرى

جرب هذا:http://www.codeplex.com/MvcScriptManager

MvcScriptManager تهدف إلى ميناء بعض الميزات الأساسية المتوفرة في AjaxControlToolkit هو ToolkitScriptManager الحالي ASP.NET إطار MVC.سوف تكون قادرة على استخدامها كعنصر تحكم في ASP.NET MVC التطبيق.

الميزات

  1. السيناريو الجمع (أو سلسلة).مخطوطات أعلن مع MvcScriptManager سوف تكون جنبا إلى جنب على الطاير في واحد ملف البرنامج النصي طلب عند عرض الصفحة.
  2. سكربت تصغير الحجم (أو الطحن) في وضع الإصدار.تصغير الحجم العملية تتم مرة واحدة فقط عند أول طلب مراجع محددة النصي.الطلبات اللاحقة سيتم استخدام مطحون المحتوى النصي في ذاكرة التخزين المؤقت (انظر رقم 5 للحصول على التفاصيل).الطحن يمكن تمكين/تعطيل لكل سيناريو.
  3. تقديم الموارد المترجمة ذاتيا ملفات البرامج النصية.السلاسل المترجمة سيتم إلحاق السيناريو إذا المحدد.
  4. دعم شكلي ضغط HTTP و انتهاء الإعداد عند outputing البرامج النصية.
  5. السيناريو التخزين المؤقت مع ملف التبعية.ملف البرنامج النصي المحتوى المخزنة مؤقتا حتى يرجع جنبا إلى جنب ملف البرنامج النصي سيكون أكثر performant.ذاكرة التخزين المؤقت التبعية مرتبط المادية الملف ولذلك أي سيناريو تحديث في نظام الملفات سوف تنعكس في ذاكرة التخزين المؤقت على الفور.
  6. دعم تقديم البرامج النصية في التصحيح/الإفراج عن وضع استنادا إلى بيئة تشغيل.
  7. حل مختلف مسارات بذاتها ملفات البرامج النصية.
  8. دعم متعددة MvcScriptManagers على صفحة واحدة (أو الصفحة الرئيسية).دعم كل من السيد والعبد طريقة التقديم بحيث النصوص المعلنة مع واحد ScriptManager يمكن ترحيلها إلى واحد آخر من أجل التقديم.
  9. دعم المزرعة ويب السيناريو...

وأو عن كيفية بما في ذلك ScriptManager نفسها، حيث أن سكان الوحيد لالانفرادي، مرة واحدة لكل صفحة <form runat="server">؟

ومثل هذا: -

   <form runat="server">
      <asp:ScriptManager ID="ScriptManager1" runat="server" EnableScriptGlobalization="true">
      </asp:ScriptManager>
    </form>

ويعمل بالنسبة لي.

وP.S. سوف تحتاج إلى التأكد من أن هذا الشكل العلامة لم يحصل جزءا لا يتجزأ من داخل شكل آخر. أشكال متداخلة لا تعمل.

وجدت هذا البحث الكثير من نفس المشكلة: <لأ href = "http://pietschsoft.com/post/2009/08/13/Simple-ScriptManager-for-ASPNET-MVC.aspx" يختلط = "نوفولو noreferrer" > A ScriptManager بسيط لASP.NET MVC - وقد أجاب كتب بعد هذا السؤال وذلك بإضافة لتكون مرجعا

.

في المقام الأول انا ذاهب مع الحل القوة الغاشمة أي التمسك بها جميعا في الصفحة الرئيسية (خاصة واحدة يمكن الآن سحب مسج من مايكروسوفت CDN) - ثم نحن في طريقنا لتحقيق خيارات للحلول أكثر الأمثل.

وMVC 4 يشمل الآن تجميع ووتصغير الحجم المساعدين. يمكنك تحديد كافة البرامج النصية التي تدخل في حزمة الخاص بك، وسوف MVC رعاية تجميع، ضغط، مخبأ خرق، وما إلى ذلك.

http://www.asp.net/mvc/ دروس / MVC-4 / تجميع و-تصغير الحجم

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top