WebParts com JavaScript não funcionam com o caminho gerenciado
-
10-12-2019 - |
Pergunta
Eu desenvolvi uma SharePoint 2010 WebParts com JavaScript e CSS(dentro de um módulo).Eu não tenho problema em ambiente de desenvolvimento, mas em ambiente de produção.
Em ambiente de produção eu tenho um WebApplication (http://productionapplication/)
com o caminho gerenciado "corp" (http://productionapplication/corp/)
e um SiteCollection "produto" (http://productionapplication/corp/product)
.
HTTP GET solicitação falha para o meu JavaScript e CSS em carregar meu WebParts.Script e CSS são corretamente implementadas dentro "http://productionapplication/corp/product/MyDocumentLibrary/"
Como posso resolver meu problema?
Obrigado por seu apoio.
Solução
Porque você está no SharePoint Foundation (assim, você não pode usar o $SPUrl expressão), eu gostaria de sugerir que você recorrer a algum clássico ASP.Net truques para solucionar seu problema:
Adicionar um runat="server" e identificação de atributos para o elemento link
<link id="css1" runat="server" rel="stylesheet" type="text/css" media="screen" href="" />
No método Page_Load, adicione este código:
css1.Attributes["href"] = SPUrlUtility.CombineUrl(SPContext.Current.Web.ServerRelativeUrl, "/MyDocumentLibrary/Css/example.css");
Outras dicas
Tente o SPUrl
token:
<link rel="stylesheet" type="text/css" media="screen" href='<% $SPUrl:~site/MyDocumentLibrary/Css/example.css %>' />
Se isso não funcionar, tente o caminho relativo completo para você conseguiu caminho:
<link rel="stylesheet" type="text/css" media="screen" href="corp/product/MyDocumentLibrary/Css/example.css" />