2010-08-16 12 views
0

Je crée un nouveau design pour mon site Web, mais je veux conserver l'ancien et éventuellement basculer entre les deux.Changement de contenu dynamique basé sur la feuille de style

Malheureusement, j'ai changé le contenu de la page principale (heureusement, j'ai une sauvegarde). Ce que je pensais était de garder des fichiers maîtres distincts pour chaque thème, et ensuite de déterminer lequel sur le serveur en fonction de quelle feuille de style est chargé.

La seule façon que je peux penser pour faire cela est de garder un fichier "settings" sur le site Web qui a une ligne "stylesheet=1/2/3/4/etc". Selon le nombre, le serveur servira la bonne page maître. Sinon, il peut être plus facile de faire quelque chose de similaire, mais au lieu de servir une page maître entière, définissez une feuille de style spécifique à utiliser. Dans les deux cas, j'ai besoin d'un peu d'aide pour faire le travail sur le serveur dans les 2 cas. Je peux lire un fichier texte (même crypter/décrypter un fichier avant et après qu'il soit lu pour plus de sécurité), mais donner au serveur les instructions basées sur ce qui est lu est l'endroit où je suis perdu.

Toutes les suggestions seront grandement appréciées.

Répondre

0

Comment décidez-vous quel style doit être chargé?

La page maître doit indiquer quelle feuille de style est chargée, et non l'inverse.

0

Comment permettez-vous aux utilisateurs de changer de style? Je le passerais comme un paramètre querystring à la première page qui est appelée, puis l'ajouterai à la session. Une fois que vous avez fait cela, dans l'événement Page_PreInit de toutes les pages ont le code suivant;

void Page_PreInit(Object sender, EventArgs e) 
{ 
if(Session["masterpage"] != null) 
{ 
    this.MasterPageFile = (String) Session["masterpage"]; 
} 
} 

De cette façon, chaque page MasterPage aura sa propre feuille de style.

Vous pouvez également stocker le nom de la maquette dans un cookie. Cela permettra à l'utilisateur de continuer à utiliser le style qu'il a sélectionné après la fin de la session.