2017-03-09 46 views
0

我有兩個具有cshtml視圖的mvc應用程序,它們都具有不同的url。他們是接受和生產應用程序。我需要根據網址來改變/隱藏homeview中的一些文本。例如:如果URL包含單詞「production」,我需要將主題「PRODUCTION」添加到主屏幕上的div上。IF URL = xxx然後在cshtml mvc中顯示文本

任何人都可以指向正確的方向嗎?

+0

http://stackoverflow.com/questions/4597050/how-to-check-if -the-url-contains-a-given-string你可以使用這個答案作爲div元素。 – alphandinc

+0

如果您唯一的選擇是從URL讀取,然後閱讀控制器操作中的Request.Uri並將您的環境名稱傳遞給您的視圖。理想情況下,你應該有一個配置設置這樣的事情。 –

回答

2

使用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> 
    } 
} 
1

有更好的方法來做到這一點。

你可以使用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") 
{ 

} 
相關問題