2017-03-09 3 views
0

Ich habe zwei MVC-Anwendungen mit cshtml Ansichten, beide mit einer anderen URL. Sie sind Apps für Akzeptanz und Produktion. Ich muss je nach URL einen Text in der Homeview ändern/verstecken. Also zum Beispiel: Wenn die URL das Wort "Produktion" enthält, muss ich den Text "PRODUCTION" zu einem div auf dem Homescreen hinzufügen.IF URL = xxx dann Text in cshtml anzeigen mvc

Kann mir jemand in die richtige Richtung zeigen?

+0

http://stackoverflow.com/questions/4597050/how-to-check-if -the-url-enthält-eine-gegebene-Zeichenfolge, die Sie diese Antworten als Ihr div-Element verwenden können. – alphandinc

+0

Wenn Sie nur die URL lesen möchten, lesen Sie die Request.Uri in Ihrer Controller-Aktion und übergeben Sie den Umgebungsnamen an Ihre Ansicht. Idealerweise sollten Sie entweder eine Konfigurationseinstellung für solche Dinge haben. –

Antwort

2

Verwenden Sie ViewBags. Deklarieren ViewBag im Regler beispielsweise:

ViewBag.Type = "Production" 

auf der Produktionsseite und:

ViewBag.Type = "Other Type" 

in anderen Verfahren in der Steuerung. Dann in Homeview überprüfen, was unter diesem ViewBag ist.

if (!string.IsNullOrEmpty(ViewBag.Type)) 
{ 
    if (ViewBag.Type == "Production") 
    { 
     <p>Production</p> 
    } 
    else if (ViewBag.Type == "Other Type") 
    { 
     <p>Other Type</p> 
    } 
} 
1

Es gibt einen besseren Weg, dies zu tun.

Sie könnten web.config transform verwenden, so dass Sie verschiedene Konfigurationsdateien für Test und Produktion haben.

in erstellen web.config

<appSettings> 
      <add key="Environment" value="Test" /> 
</appSettings> 

in cshtml Prüfschlüssel Wert appSetting und tun Sachen

@if(!string.IsNullOrEmpty(ConfigurationManager.AppSettings.Get("Environment")) && ConfigurationManager.AppSettings.Get("Environment") == "Test") 
{ 

} 
Verwandte Themen