我有两个带有CSHTML视图的MVC应用程序,均具有不同的URL。它们是接受和生产应用程序。我需要根据URL更改/隐藏主页上的文本。因此:例如:如果URL包含"生产"一词,则我需要将文本"生产"添加到房屋屏幕上的Div。
有人可以指向正确的方向吗?
使用ViewBags。例如,在控制器中声明ViewBag:
ViewBag.Type = "Production"
在生产页面上,
ViewBag.Type = "Other Type"
在控制器中的其他方法中。然后在Homeview中检查此ViewBag下的内容。
if (!string.IsNullOrEmpty(ViewBag.Type))
{
if (ViewBag.Type == "Production")
{
<p>Production</p>
}
else if (ViewBag.Type == "Other Type")
{
<p>Other Type</p>
}
}
有更好的方法。
您可以使用Web.config进行这种方式,您将拥有不同的配置文件进行测试和生产。
在web.config中创建appsetting
<appSettings>
<add key="Environment" value="Test" />
</appSettings>
在cshtml中检查钥匙值并做事
@if(!string.IsNullOrEmpty(ConfigurationManager.AppSettings.Get("Environment")) && ConfigurationManager.AppSettings.Get("Environment") == "Test")
{
}