我需要当前网址的某个部分。
例如,网址为:http://www.abc.com/123/product/234?productid=123
我想检查某个字符串是否包含http://www.abc.com/123
请不要给出“做字符串操作”等所有答案。 有没有办法获得这种URL?
答案 0 :(得分:8)
Uri类有一些非常有用的Uri修改方法 - 包括Uri.TryCreate。
具体来说,GetComponents方法可能会对您有所帮助。
答案 1 :(得分:5)
试试这个:
Application.Current.Host.Source.AbsoluteUri
这会将url提供给.xap文件。 您必须替换.xap路径,并且您的应用程序是uri。
Application.Current.Host.Source.AbsoluteUri.Replace(@"ClientBin/MySilverlight.xap", "");
答案 2 :(得分:2)
我选择了一个完全通用的解决方案:
/// <summary>
/// Get the site URL (one step up from ClientBin)
/// </summary>
public string HostWebSite
{
get
{
string host = App.Current.Host.Source.AbsoluteUri;
int clientBin = host.IndexOf("ClientBin", 0);
if (clientBin == -1)
return "Could not find \"ClientBin\" in " + host;
return host.Substring(0, clientBin);
}
}
答案 3 :(得分:0)
string myString = "http://www.abc.com/123/product/234?productid=123";
bool contains = myString.Contains("http://www.abc.com/123");
答案 4 :(得分:0)
您可以使用HtmlPage.Document.DocumentUri获取当前的uri(这适用于* .xaml.cs文件)