2012-04-30 12 views
6

Básicamente quiero un cierto diseño que se utilizará cuando alguien está visitando la página raíz:¿Cómo comprobar si los usuarios que visitan el sitio están en la página raíz o en cualquier otra página?

www.foo.com 

Y otro diseño cuando se visita en otro sitio:

www.foo.com/asdf 

I podía utilizar diferentes archivos _Layout, pero como el único cambio está aquí, me parece contraproducente.

Esto es lo que he tratado, es de esperar que ilustra lo que estoy tratando de lograr:

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

Respuesta

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

Kudos, trabajó como un encanto. –

+0

Esto falla si su aplicación se ejecuta bajo un directorio virtual. En ese caso Request.Url.PathAndQuery devuelve "/ [directorio virtual] /", por lo que querrá si (Request.Url.PathAndQuery == @ Url.Content ("~")) – deive

+0

que no sería la raíz de el sitio, sería la raíz *** de tu aplicación ***. en su escenario, debería verificar '/ [virtual dir]' como la raíz de su aplicación virtual. – xandercoded

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