有许多事情可以做。第一层已经提到的是使用不同的CSS文件。您可以动态地将不同的路径放入您的CSS文件中,通过创建一个辅助方法。因此,它将被用作以下内容:
<link href="<%=AppHelper.GetCSSPath("mysite.css")%>" rel="stylesheet" type="text/css" />
这给你一定程度的自定义。更进一步的,是为每个子站点创建不同的视图文件。你可以通过创建一个新的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;
}
}
希望能帮到你。
附言:我很快就会在我的项目中完成这个,所以我很快就会有一些实际可用的代码。