2009-10-01 27 views
7

Ho bisogno di determinare quale CSS deve essere applicato su alcune pagine specifiche. Ho una pagina principale che ha bambini e default.aspx e services.aspx sono quelli dei figli della pagina Master. Quello che voglio è quando l'utente naviga Default.aspx o Services.aspx, sistema dovrebbe applicare DefaultCSS lima altrimenti voglio applicare alcuni ordinaria css file.Cambia CSS in modo dinamico

Come posso fare questo e per questa domanda che tipo di pratica sarebbe meglio.

Grazie in anticipo.

risposta

9

Credo di aver trovato quello che sto cercando:

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); 
    } 

anche MSDN descriveva come raggiungere questo obiettivo: HtmlLink Class

1

è possibile includere il file CSS in modo dichiarativo, vale a dire nel file *.aspx : vedi ad esempio this answer.

7

La sua molto più facile e flessibile per fare questo:

MasterPage:

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

bambino-Pagina 1:

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

Bambino-Pagina 2:

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

Yeap, hai ragione, ma non so volevo solo ottenere l'immaginazione di questo, ma mi è piaciuta la soluzione più del mio. – Tarik

+0

Il vantaggio di questo approccio è che se si cambiano i file .css, .js, meta tag ... qualsiasi cosa, non è necessario ricompilare nulla. Avrai anche il supporto in fase di progettazione in Visual Studio per il tuo .aspx. –

+0

Hai ragione, questi benefici non possono essere lampeggianti. Grazie. – Tarik

Problemi correlati