如何在Silverlight中获取当前URL的某个部分?

时间:2009-10-30 10:58:05

标签: c# silverlight

我需要当前网址的某个部分。
例如,网址为:http://www.abc.com/123/product/234?productid=123
我想检查某个字符串是否包含http://www.abc.com/123

请不要给出“做字符串操作”等所有答案。 有没有办法获得这种URL?

5 个答案:

答案 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文件)