Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

RSS iMasters

[Resolvido] Inclua JavaScript e CSS em sua masterpage

Recommended Posts

Este aqui é rápido.

 

Em toda a web, eu vejo um monte de truques sobre como fazer isso, mas na verdade é muito fácil.

 

O problema

Quando você faz referência a um script ou a um arquivo CSS em sua masterpage, ele leva o caminho referente desse arquivo de acordo com a localização da masterpage.

O problema é que a masterpage não é a que vai ser mostrada, ela será a própria página ASPX que herda a partir dela.

 

Dito isso, se seus arquivos ASPX estão em um local diferente do masterpage, então os caminhos referentes aos scripts não serão resolvidos.

 

Há também o problema quando o seu site pode ser executado em uma pasta virtual ou como um site no IIS.

 

A solução

Há um monte de formas de se lidar com isso, mas a melhor é confiar em localizações ASPX específicas.

 

Gosto de ter meus ASPXs bem organizados em uma forma conveniente, às vezes na mesma pasta, mas na maioria das vezes em pastas separadas.

 

Não quero ser obrigado a colocar todas as páginas na mesma pasta só por isso.

 

Assim, a ideia é colocar todo o script e referências CSS na masterpage <Head% gt;, utilizar o til (~) do lado do servidor e escrever os caminhos corretos em Page_Init.

 

Se você precisar fazer referência a jQuery e jQueryUI, o <head> da sua masterpage deve ser semelhante à seguinte forma:

 

<head runat="server">

<title></title>

 

<link href="<%# ResolveUrl("~/") %>css/custom-theme/jquery-ui-1.8.21.custom.css" rel="stylesheet" type="text/css" />

 

<script src="<%# ResolveUrl("~/") %>Scripts/jquery-1.7.2.min.js" type="text/javascript"></script>

<script src="<%# ResolveUrl("~/") %>Scripts/jquery-ui-1.8.20.min.js" type="text/javascript"></script>

 

<asp:ContentPlaceHolder ID="head" runat="server">

</asp:ContentPlaceHolder>

</head>

Agora, no código por trás da masterpage, você deve incluir o seguinte código:

protected override void OnLoad(EventArgs e)

{

base.OnLoad(e);

Page.Header.DataBind();

}

FEITO!

 

Lembre-se de que o script e o caminho de referências CSS que você escrever devem ser sempre relativos ao root do seu site.

 

Dessa forma, em todos os lugares que a masterpage for usada, os caminhos para os recursos estarão sempre corretos.

 

Tim tim!

?

Texto original disponível em http://www.instanceofanobject.com/2012/06/include-javascript-and-css-on-your.html

 

 

 

http://imasters.com.br/artigo/24931/javascript/inclua-javascript-e-css-em-sua-masterpage

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.