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 == "~/")