Los WebParts con JavaScript no funcionan con la ruta administrada
-
10-12-2019 - |
Pregunta
Desarrollé un WebParts de SharePoint 2010 con JavaScript y CSS (dentro de un módulo).No tengo problemas en el entorno de desarrollo sino en el entorno de producción.
En entorno de producción tengo una aplicación web. (http://productionapplication/)
con ruta administrada "corp" (http://productionapplication/corp/)
y un "producto" de SiteCollection (http://productionapplication/corp/product)
.
La solicitud GET HTTP falla para mi JavaScript y CSS al cargar mis WebParts.El script y el CSS se implementan correctamente en el interior "http://productionapplication/corp/product/MyDocumentLibrary/"
¿Cómo puedo resolver mi problema?
Gracias por su apoyo.
Solución
Debido a que está en SharePoint Foundation (por lo tanto, no puede usar la expresión $SPUrl), le sugiero que recurra a algunos trucos clásicos de ASP.Net para solucionar su problema:
Agregue atributos runat="server" e id al elemento de enlace
<link id="css1" runat="server" rel="stylesheet" type="text/css" media="screen" href="" />
Dentro del método Page_Load, agregue este código:
css1.Attributes["href"] = SPUrlUtility.CombineUrl(SPContext.Current.Web.ServerRelativeUrl, "/MyDocumentLibrary/Css/example.css");
Otros consejos
Prueba el SPUrl
simbólico:
<link rel="stylesheet" type="text/css" media="screen" href='<% $SPUrl:~site/MyDocumentLibrary/Css/example.css %>' />
Si eso no funciona, pruebe con la ruta relativa completa a su ruta administrada:
<link rel="stylesheet" type="text/css" media="screen" href="corp/product/MyDocumentLibrary/Css/example.css" />