2012-04-30 3 views
6

は基本的に私は、特定のレイアウトは、誰かがルートページを訪問された際に使用したいサイトにアクセスしたユーザーがルートページや他のページにいるかどうかを確認するにはどうすればよいですか?どこにも訪れた際</p> <pre><code>www.foo.com </code></pre> <p>そして、別のレイアウト:

www.foo.com/asdf 

I 異なる_layoutファイルを使用することができ、唯一の変更がここにあるので、私はそれが逆効果であることがわかります。

ここでうまくいけば、それは私が達成しようとしているものを示しているが、私が試したものです:

@if (HttpContext.Current.Request.Url.ToString() == "some way to check root?") 
{ 
    @RenderBody() 
} 
else 
{ 
    <div id="big-kahuna"> <!-- Literally the only change. --> 
     @RenderBody()  
    </div> 
} 

答えて

23
​​
+0

賞賛は、魔法のように働きました。 –

+0

アプリケーションが仮想ディレクトリで実行されている場合、これは失敗します。その場合、Request.Url.PathAndQueryは "/ [virtual dir] /"を返します。したがって、(Request.Url.PathAndQuery == @ Url.Content( "〜")) – deive

+0

がサイト、あなたのアプリの***ルートになるでしょう。あなたのシナリオでは、仮想アプリケーションのルートとして '/ [virtual dir]'をチェックします。 – xandercoded

3
if (Request.AppRelativeCurrentExecutionFilePath == "~/")