.net - ASP.NET 根据 URL 设置主题

标签 .net asp.net themes

我有一个 web 应用程序,到目前为止,它已经被蒙皮(只是基本的颜色和 Logo ,没有什么复杂的)到一家公司,但是现在由于与另一家公司合并,该网站需要被标记为两个独立的公司(操作两者完全相同,并且它们共享相同的数据)。最简单的方法是只复制 Web 应用程序并托管它的两个实例,但这会很麻烦,我真的只想为同一站点设置一个 DNS 别名。

基本上我想根据站点的 URL 更改主题。例如 alpha.company.com -> 主题 A beta.comany.com -> 主题 B。

您建议如何解决这个问题?

最佳答案

在您的页面(或基页)中,获取 PreInit 处理程序(只有 Page 有此事件,MasterPage 没有)并执行如下操作:

protected void Page_PreInit(..)
{
    this.Theme = GetThemeByUrl(Request.Url);
}

private string GetThemeByUrl(Uri url)
{
    string host = url.Host; //gets 'subdomain.company.com'
    //determine & return theme name from host
}

关于.net - ASP.NET 根据 URL 设置主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/518711/

相关文章:

c# - 如何在某些情况下更改图标的颜色

c# - SmtpClient 发送错误的 MessageID

c# - 默认按钮不适用于多个验证组

c# - 如何加载用户设置和值

c# - 任何具有良好单元测试(CodePlex 或任何地方)的 ASP.NET (WebForm) 应用程序?

android - 无法动态设置样式的解决方法

colors - Sublime Text 3-更新后空白颜色错误

php - 带图像上传的 WordPress 2.9 主题选项管理页面

.net - 为什么 .NET 秒表的 ElapsedTicks * 10 000 不等于 ElapsedMilliseconds?

c# - 更新 DNN 7.3 + 中的自定义门户设置