فضل طريقة لتضمين مرجع نسبي جافا سكريبت في مقابل 2008 متداخلة Masterpage

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

سؤال

لدينا قاعدة Masterpage لديه شيء كما يلي

  <head runat="server">
   <title></title>

   <script type="text/javascript" src="<%= Page.ResolveClientURL("~/javascript/actions.js")%>"></script>
   <script type="text/javascript" src="<%= Page.ResolveClientURL("~/javascript/jquery/jquery-1.2.6.min.js")%>"></script>
   <asp:contentplaceholder id="cph_htmlhead" runat="server">

   </asp:contentplaceholder>
  </head>

إذا كان هذا Masterpage هو Masterpage على صفحة ASPX الأشياء تعمل بشكل جيد.

إذا كان هذا Masterpage هو Masterpage للطفل Masterpage ثم جديد صفحة ASPX يستخدم الطفل Masterpage كما انها MasterPage نرى:

خطأ في الملقم في " التطبيق.

ضوابط جمع لا يمكن تعديل لأن السيطرة على كتل التعليمات البرمجية (أي<% ...%>).

ما هي الطريقة المفضلة تشمل الموارد العالمية (Javascript/CSS) في قاعدة Masterpage الحفاظ على التلدة(~) على غرار النسبية تحديد المسارات?

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

المحلول

استخدام ScriptManager server التحكم:

  <asp:ScriptManager ID="myScriptManager" runat="server">
    <Scripts>
      <asp:ScriptReference Path = "~/javascript/actions.js" /> 
      <asp:ScriptReference Path = "~/javascript/jquery/jquery-1.2.6.min.js" />
    </Scripts>
  </asp:ScriptManager>

نصائح أخرى

هل جربت:

<script type="text/javascript" src='<%= Page.ResolveClientUrl("~/javascript/actions.js") %>'></script>

كما في ScottGu,

طرف واحد للاستفادة من هو المسار النسبي إصلاح الدعم المقدمة من قبل رئيس runat="server" السيطرة.يمكنك استخدام هذا في الصفحات الرئيسية بسهولة مرجع .CSS stylesheet أن يتم إعادة استخدامها في المشروع بأكمله (بغض النظر عما إذا كان المشروع هو الجذر المشار إليها أو sub-التطبيق):

مسار الإصلاح-متابعة ميزة التحكم رئيس ثم تأخذ النسبية .CSS stylesheet مسار الإخراج بشكل صحيح المسار المطلق إلى الأنماط في وقت بغض النظر عما إذا كان هو جذر الويب المشار إليها في الموقع أو جزء فرعي التطبيق.

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