لا تعمل أجزاء الويب مع JavaScript مع المسار المُدار
-
10-12-2019 - |
سؤال
لقد قمت بتطوير SharePoint 2010 WebParts باستخدام JavaScript وCSS (داخل الوحدة النمطية).ليس لدي مشكلة في بيئة التطوير ولكن في بيئة الإنتاج.
في بيئة الإنتاج لدي تطبيق WebApplication (http://productionapplication/)
مع المسار المُدار "corp" (http://productionapplication/corp/)
و"منتج" SiteCollection (http://productionapplication/corp/product)
.
فشل طلب الحصول على HTTP لجافا سكريبت وCSS عند تحميل أجزاء الويب الخاصة بي.يتم نشر البرنامج النصي وCSS بشكل صحيح في الداخل "http://productionapplication/corp/product/MyDocumentLibrary/"
كيف يمكنني حل مشكلتي؟
شكرا لدعمك.
المحلول
نظرًا لأنك تستخدم SharePoint Foundation (وبالتالي لا يمكنك استخدام التعبير $SPUrl)، فإنني أقترح عليك اللجوء إلى بعض حيل ASP.Net الكلاسيكية لحل مشكلتك:
أضف سمات runat = "server" والمعرف إلى عنصر الارتباط
<link id="css1" runat="server" rel="stylesheet" type="text/css" media="screen" href="" />
ضمن طريقة Page_Load، أضف هذا الكود:
css1.Attributes["href"] = SPUrlUtility.CombineUrl(SPContext.Current.Web.ServerRelativeUrl, "/MyDocumentLibrary/Css/example.css");
نصائح أخرى
جرب ال SPUrl
رمز:
<link rel="stylesheet" type="text/css" media="screen" href='<% $SPUrl:~site/MyDocumentLibrary/Css/example.css %>' />
إذا لم ينجح ذلك، فجرّب المسار النسبي الكامل للمسار المُدار:
<link rel="stylesheet" type="text/css" media="screen" href="corp/product/MyDocumentLibrary/Css/example.css" />