【发布时间】:2011-02-07 23:47:26
【问题描述】:
我使用 asp.net c#。
我想检查当前url的域名后面是否有任何内容。
例如,如果当前网址
www.example.com/
或
www.example.com
我想将 bool 设置为 true。 如果我想将其设置为false之后它有什么。例如
www.example.com/stuff
我该怎么做?
应该返回 false。
【问题讨论】:
我使用 asp.net c#。
我想检查当前url的域名后面是否有任何内容。
例如,如果当前网址
www.example.com/
或
www.example.com
我想将 bool 设置为 true。 如果我想将其设置为false之后它有什么。例如
www.example.com/stuff
我该怎么做?
应该返回 false。
【问题讨论】:
类似:
bool isRoot = new Uri("http://www.example.com").AbsolutePath == "/";
【讨论】:
您可以尝试使用System.Uri.PathAndQuery 进行检查。对于您的第一个案例,PathAndQuery 应该为空/null。
【讨论】:
你可以使用正则表达式...
用途:
(((http|https)://)|(www.))+(([a-zA-Z0-9._-]+.[a-zA-Z]{2,6}) |([0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}))?
【讨论】:
我可能是错的,但我相信即使你直接在 www.example.com 访问域,ASP.NET 也会检测到包含默认页面的 URL,通常是 default.aspx。
只需检查类似
的内容string defaultPage = "/default.aspx";
return Request.Url.PathAndQuery == defaultPage;
【讨论】: