ASP Web应用程序可能具有不同的BackGround颜色,具体取决于哪个服务器托管应用程序

时间:2013-02-13 23:37:27

标签: asp.net-mvc

我有一个MCV应用程序。我有一个工作副本在我的本地PC上运行,生产副本位于我的应用程序服务器上。为了快速测试小版本,我希望办公室另一侧的用户在更新服务器上的文件之前访问我的本地副本。但我不希望用户能够将mypc / myapp与myserver / mypp混淆。要做到这一点,我想也许我有一些配置说:如果托管在“myserver”上,背景颜色为黑色;否则背景颜色为红色或其他东西。

这可能,以及如何?

1 个答案:

答案 0 :(得分:2)

有很多方法可以做到这一点。

最快最简单的方法就是在web.config中设置一个密钥,该密钥在生产服务器上设置为true。

<appSettings>
<add key="production" value="true" />
</appSettings>

将新的css类添加到样式表中以获取开发背景颜色

.development-bg {
background-color: #FF49F2;
}

然后在_Layout.cshtml的顶部(假设您使用的是剃刀视图引擎)

@{       
    if(System.Configuration.ConfigurationManager.AppSettings["production"] != "true")
    {
        ViewBag.BackgroundColorCssClass = "development-bg";   
    }
}

然后修改_Layout.cshtml中的body标签

<body class="@ViewBag.BackgroundColorCssClass">

或者,如果您不想拥有web.config值,可以尝试以下

@{
    if(HttpContext.Current.Server.MachineName == "your machine name")
    {
        ViewBag.BackgroundColorCssClass = "development-bg";    
    }
}

就像我说的那样,有很多方法可以做到这一点。这种方式非常简单,但可能适合您的需求。