2009-10-01 18 views
7

Necesito determinar qué CSS se debe aplicar en algunas páginas específicas. Tengo una página maestra que tiene hijos y default.aspx y services.aspx son los hijos de la página Maestra. Lo que quiero es cuando el usuario navega Default.aspx o Services.aspx, el sistema debería aplicarse archivo DefaultCSS lo contrario quiero aplicar algún archivo css ordinaria.Cambiar CSS dinámicamente

¿Cómo puedo hacer eso y para esta pregunta qué tipo de práctica sería mejor?

Gracias de antemano.

Respuesta

9

creo que he encontrado lo que estoy buscando:

protected void Page_Init(object sender, EventArgs e) 
    { 
     HtmlLink css = new HtmlLink(); 
     css.Href = "css/fancyforms.css"; 
     css.Attributes["rel"] = "stylesheet"; 
     css.Attributes["type"] = "text/css"; 
     css.Attributes["media"] = "all"; 
     Page.Header.Controls.Add(css); 
    } 

también MSDN se describe la manera de lograr esto: HtmlLink Class

1

puede incluir el archivo CSS de forma declarativa, es decir, en el archivo *.aspx : ver por ejemplo this answer.

7

Es mucho más fácil y flexible para hacer esto:

MasterPage:

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

con niños Página 1:

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server"> 
    <link href="css/fancyforms.css" rel="stylesheet" type="text/css" /> 
</asp:Content> 

Niño-Página 2:

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server"> 
    <link href="css/NOTfancyforms.css" rel="stylesheet" type="text/css" /> 
</asp:Content> 
+0

Yeap, tienes razón, pero no sé que sólo quería conseguir la suposición acerca de eso, pero me ha gustado su solución más que la mía. – Tarik

+0

El beneficio de este enfoque es que si cambia sus .css, .js, etiquetas meta ... lo que sea, no tiene que volver a compilar nada. También obtendrá soporte de tiempo de diseño en Visual Studio para su .aspx. –

+0

Tiene razón, estos beneficios no pueden parpadear. Gracias. – Tarik

Cuestiones relacionadas