..:o5k4r.m4dr1d


Javascript and CSS reference on MasterPage

En un desarrollo que estoy haciendo, en ASP .Net, Framework 3.5, tenía que incluir algunos scripts para cubrir una necesidad, y las referencias para incluir CSS ó JS, es ya muy conocida por todos:


<*link rel="stylesheet" href="/css/grid.css" type="text/css" media="screen" */>
<*script src="/js/jquery-1.6.min.js" type="text/javascript"><*/script>
<*/code>

Pero el problema viene cuando lo tienes que usar en una MaterPage y cuando la ASPX y la MasterPage están en diferentes carpetas, es muy común que no tome la ubicación, aún y cuando se use ~, que como sabemos sirve para indicar el folder raíz.. esto sucede básicamente por el uso del ToolkitScriptManager.

La solución para este caso, es en el HTML de la MasterPage usar la referencia de ésta manera (sólo quita los asteriscos *):


<*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-ui-1.8.20.min.js" type="text/javascript"><*/script>
<*asp:ContentPlaceHolder ID="head" runat="server"><*/asp:ContentPlaceHolder>
<*/head>

Y en el codeBehind de la MasterPage, agregar el siguiente método:


protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
Page.Header.DataBind();
}

Anuncios