Il y a un certain nombre de choses que vous pouvez faire. Le premier niveau, comme déjà mentionné, est d'utiliser un fichier CSS différent. Vous pouvez dynamiquement mettre un chemin différent à votre fichier CSS, en créant une méthode Helper. Donc, il serait utilisé quelque chose comme ceci:
<link href="<%=AppHelper.GetCSSPath("mysite.css")%>" rel="stylesheet" type="text/css" />
Cela vous donne un certain niveau de personnalisation. Un autre niveau serait en fait avoir différents fichiers de vue pour chaque sous-site. Vous pouvez le faire en créant un nouveau moteur ViewEngine:
public class SubSiteViewEngine: WebFormViewEngine
{
private string GetSiteRoot() {
// some logic to get the site root from the incoming URL
}
public SubSiteViewEngine()
{
MasterLocationFormats = new[] {
GetSiteRoote() + "/Views/{1}/{0}.master",
GetSiteRoote() + "/Views/Shared/{0}.master" ,
GetSiteRoote() + "/Views/Shared/MasterViews/{0}.master"
};
ViewLocationFormats = new[] {
GetSiteRoote() + "/Views/{1}/{0}.aspx",
GetSiteRoote() + "/Views/{1}/{0}.ascx",
GetSiteRoote() + "/Views/Shared/{0}.aspx",
GetSiteRoote() + "/Views/Shared/{0}.ascx",
GetSiteRoote() + "/Views/Shared/Controls/{0}.ascx"
};
PartialViewLocationFormats = ViewLocationFormats;
}
}
Hope that helps.
P.S. Je vais le faire prochainement pour mon propre projet, donc je devrais avoir un vrai code de travail pour ça bientôt.