Как получить определенную часть текущего URL в silverlight? - PullRequest
4 голосов
/ 30 октября 2009

Мне нужна определенная часть текущего URL.
Например, URL-адрес: http://www.abc.com/123/product/234?productid=123
И я хочу проверить, содержит ли определенная строка http://www.abc.com/123

Пожалуйста, не давайте таких ответов, как "манипулировать строками" и все такое Есть ли способ получить такой URL?

Ответы [ 5 ]

8 голосов
/ 30 октября 2009

Класс Uri имеет несколько действительно полезных методов для манипулирования Uri, включая Uri.TryCreate.

В частности, вам может помочь метод GetComponents .

5 голосов
/ 17 января 2011

Попробуйте это:

Application.Current.Host.Source.AbsoluteUri 

Это даст URL вашего файла .xap. Вам придется заменить путь .xap, и у вас есть приложение URI.

Application.Current.Host.Source.AbsoluteUri.Replace(@"ClientBin/MySilverlight.xap", "");
2 голосов
/ 07 февраля 2013

Я выбрал полностью универсальное решение:

    /// <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);
        }
    }
0 голосов
/ 12 июля 2011

Вы можете получить текущий URI, используя HtmlPage.Document.DocumentUri (это работает в * .xaml.cs файлах)

0 голосов
/ 30 октября 2009
string myString = "http://www.abc.com/123/product/234?productid=123";
bool contains = myString.Contains("http://www.abc.com/123");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...