Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何检查访问站点的用户是否位于根页面或任何其他页面上?_C#_Asp.net Mvc 3_Request - Fatal编程技术网

C# 如何检查访问站点的用户是否位于根页面或任何其他页面上?

C# 如何检查访问站点的用户是否位于根页面或任何其他页面上?,c#,asp.net-mvc-3,request,C#,Asp.net Mvc 3,Request,基本上,我希望在有人访问根页面时使用某种布局: www.foo.com 在访问其他任何地方时,还有另一种布局: www.foo.com/asdf 我可以使用不同的布局文件,但由于唯一的变化是在这里,我发现这会适得其反 以下是我所做的尝试,希望它能说明我正在努力实现的目标: @if (HttpContext.Current.Request.Url.ToString() == "some way to check root?") { @RenderBody() } else {

基本上,我希望在有人访问根页面时使用某种布局:

www.foo.com
在访问其他任何地方时,还有另一种布局:

www.foo.com/asdf
我可以使用不同的布局文件,但由于唯一的变化是在这里,我发现这会适得其反

以下是我所做的尝试,希望它能说明我正在努力实现的目标:

@if (HttpContext.Current.Request.Url.ToString() == "some way to check root?")
{
    @RenderBody()
}   
else
{
    <div id="big-kahuna"> <!-- Literally the only change. -->
        @RenderBody()    
    </div>
} 
@if(HttpContext.Current.Request.Url.ToString()=“检查根目录的方法?”)
{
@RenderBody()
}   
其他的
{
@RenderBody()
} 

如果您的应用程序在虚拟目录下运行,则此操作将失败。在这种情况下,Request.Url.PathAndQuery返回“/[virtual dir]/”,因此您希望if(Request.Url.PathAndQuery==@Url.Content(~”)不是站点的根,而是应用程序的根。在您的场景中,您将检查
/[virtual dir]
作为虚拟应用程序的根目录。
if(Request.Url.PathAndQuery == "/") // root;
if (Request.AppRelativeCurrentExecutionFilePath == "~/")