2017-03-09 5 views
0

私はcshtmlビューを持つ2つのmvcアプリケーションを持っていて、どちらもURLが異なっています。彼らはアクセプタンスアプリとプロダクションアプリです。私は、URLに応じてホームビュー上のテキストを変更/非表示にする必要があります。たとえば、URLに「production」という単語が含まれている場合、ホーム画面のdivに「PRODUCTION」というテキストを追加する必要があります。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 = "Production" 

を、および:例えばコントローラ内ViewBagを宣言コントローラに他の方法で

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

これを実行するより良い方法があります。

あなたはテストと生産のために異なる設定ファイルを持つようにweb.configを使用することができます。 web.configファイルで

CSHTMLチェックキー値に

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

を作成するのAppSettingとかに

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

} 
関連する問題