我需要检测当前页面 uri 是否包含实际页面名称,而不仅仅是该目录的默认值/没有子路径。
例如,如果我要浏览到默认目录,它将是:
www.domain.com/directory
但是,我需要检测页面 url/uri 何时是子页面的页面,例如:
www.domain.com/directory/page.aspx
或者
www.domain.com/directory/something
最有效的方法是什么?
谢谢。
您可以使用 the.AbsolutePath
或 the.LocalPath
并Request.Url
检查其是否以 结尾Default.aspx
,例如
if(Request.Url.AbsolutePath.EndsWith("/default.aspx", StringComparison.InvariantCultureIgnoreCase)))
{
// you are browsing the directory.
}
您首先需要弄清楚如何区分“/directory/childPage”和“/directory/subdirectory”。然后只需使用Uri.Segments修剪“带有子页面的路径”的最后一段 。
var pageUri = new Uri("http://www.domain.com/directory/page.aspx");
var pageName = pageUri.Segments[pageUri.Segments.Length - 1];
类似问题 -删除 Request.Url 的最后一段