我有兩個具有cshtml視圖的mvc應用程序,它們都具有不同的url。他們是接受和生產應用程序。我需要根據網址來改變/隱藏homeview中的一些文本。例如:如果URL包含單詞「production」,我需要將主題「PRODUCTION」添加到主屏幕上的div上。IF URL = xxx然後在cshtml mvc中顯示文本
任何人都可以指向正確的方向嗎?
我有兩個具有cshtml視圖的mvc應用程序,它們都具有不同的url。他們是接受和生產應用程序。我需要根據網址來改變/隱藏homeview中的一些文本。例如:如果URL包含單詞「production」,我需要將主題「PRODUCTION」添加到主屏幕上的div上。IF URL = xxx然後在cshtml mvc中顯示文本
任何人都可以指向正確的方向嗎?
使用ViewBags。在控制器的其它方法
ViewBag.Type = "Other Type"
:對生產頁
ViewBag.Type = "Production"
,和:聲明ViewBag在控制器例如。然後在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中創造CSHTML檢查鍵值appsetting
<appSettings>
<add key="Environment" value="Test" />
</appSettings>
和做的東西
@if(!string.IsNullOrEmpty(ConfigurationManager.AppSettings.Get("Environment")) && ConfigurationManager.AppSettings.Get("Environment") == "Test")
{
}
http://stackoverflow.com/questions/4597050/how-to-check-if -the-url-contains-a-given-string你可以使用這個答案作爲div元素。 – alphandinc
如果您唯一的選擇是從URL讀取,然後閱讀控制器操作中的Request.Uri並將您的環境名稱傳遞給您的視圖。理想情況下,你應該有一個配置設置這樣的事情。 –