Il existe de nombreuses façons de changer d'apparence. La plus simple consiste généralement à changer de page CSS, et le CSS est généralement écrit dans un fichier CSS externe. Ensuite, changer de CSS modifie en fait le chemin du lien href en HTML. J'ai cherché en ligne. Il existe généralement deux manières :
1. Placer un contrôle titulaire sur la page. Ensuite, écrivez le lien CSS de style de l'utilisateur actuel vers la page par programme.
2. Définissez les styles CSS sur chaque contrôle via le mécanisme de réflexion.
Les deux méthodes ci-dessus sont assez gênantes.
La première nécessite de placer un contrôle titulaire sur chaque page. Une approche similaire consiste à ajouter runat=server à la balise de lien. S'il y a trop de pages, ce sera plus gênant.
Il n’est pas nécessaire de considérer le second. Il existe de nombreux problèmes liés à l’efficacité de la programmation des performances.
Je me souviens que lorsque j'apprenais DNN, j'ai trouvé un moyen de modifier l'adresse d'action par défaut dans le formulaire. Veuillez vous y référer directement. pas mal:
Remplacer directement l'événement Render
remplacement protégé void Render (écrivain System.Web.UI.HtmlTextWriter)
{
StringWriter sw = new StringWriter();
HtmlTextWriter htmlWriter = new HtmlTextWriter(sw);
base.Render(htmlWriter);
//Le style CSS sélectionné par l'utilisateur actuel
string css = "<link href="css url" rel="stylesheet" type="text/css">"
;
int startPoint = html.IndexOf("</head>", StringComparison.CurrentCultureIgnoreCase);
si (point de départ > 0)
{
html = html.Insert(startPoint, css);
}
écrivain.Write(html);
}
Mettez ceci dans la classe de base PageBase de chaque page. Ce serait bien plus pratique.
Bien sûr, si vous ne souhaitez pas que chaque page hérite d'une classe de base personnalisée, vous pouvez également l'écrire dans HttpModule. C'est aussi très pratique.
Écrivez-le au même endroit et il sera utile pour chaque page.
http://www.cnblogs.com/kwklover/archive/2007/01/03/610822.html