2012-04-30 5 views
6

Fondamentalmente voglio una certa disposizione da utilizzare quando qualcuno sta visitando la pagina radice:Come verificare se gli utenti che visitano il sito si trovano nella pagina principale o in qualsiasi altra pagina?

www.foo.com 

E un altro layout durante la visita in qualsiasi altro luogo:

www.foo.com/asdf 

ho potuto utilizzare diversi file _Layout, ma poiché l'unico cambiamento è qui, trovo che controproducente.

Ecco quello che ho provato, spero che illustra quello che sto cercando di realizzare:

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

risposta

23
if(Request.Url.PathAndQuery == "/") // root; 
+0

Complimenti, ha lavorato come un fascino. –

+0

Non funziona se l'app è in esecuzione in una directory virtuale. In tal caso, Request.Url.PathAndQuery restituisce "/ [dir virtuale] /", quindi vorrai se (Request.Url.PathAndQuery == @ Url.Content ("~")) – deive

+0

non sarebbe la radice di il sito, sarebbe la radice *** della tua app ***. nel tuo scenario verificherai '/ [dir virtuale]' come radice della tua app virtuale. – xandercoded

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