Мне нужна определенная часть текущего URL. Например, URL-адрес: http://www.abc.com/123/product/234?productid=123 И я хочу проверить, содержит ли определенная строка http://www.abc.com/123
Пожалуйста, не давайте таких ответов, как "манипулировать строками" и все такое Есть ли способ получить такой URL?
Класс Uri имеет несколько действительно полезных методов для манипулирования Uri, включая Uri.TryCreate.
В частности, вам может помочь метод GetComponents .
Попробуйте это:
Application.Current.Host.Source.AbsoluteUri
Это даст URL вашего файла .xap. Вам придется заменить путь .xap, и у вас есть приложение URI.
Application.Current.Host.Source.AbsoluteUri.Replace(@"ClientBin/MySilverlight.xap", "");
Я выбрал полностью универсальное решение:
/// <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); } }
Вы можете получить текущий URI, используя HtmlPage.Document.DocumentUri (это работает в * .xaml.cs файлах)
string myString = "http://www.abc.com/123/product/234?productid=123"; bool contains = myString.Contains("http://www.abc.com/123");