Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在silverlight中获取当前URL的特定部分?_C#_Silverlight - Fatal编程技术网

C# 如何在silverlight中获取当前URL的特定部分?

C# 如何在silverlight中获取当前URL的特定部分?,c#,silverlight,C#,Silverlight,我需要当前URL的某一部分 比如说URL是: 我想检查某个字符串是否包含 请不要给出“做字符串操作”之类的答案。 有没有办法获得这种URL?这个类有一些非常有用的方法来处理Uri损坏,包括Uri.TryCreate string myString = "http://www.abc.com/123/product/234?productid=123"; bool contains = myString.Contains("http://www.abc.com/123"); 具体来说,该方法可能

我需要当前URL的某一部分
比如说URL是:
我想检查某个字符串是否包含

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

这个类有一些非常有用的方法来处理Uri损坏,包括Uri.TryCreate

string myString = "http://www.abc.com/123/product/234?productid=123";
bool contains = myString.Contains("http://www.abc.com/123");
具体来说,该方法可能会对您有所帮助。

尝试以下方法:

Application.Current.Host.Source.AbsoluteUri 
这将提供.xap文件的url。 您将必须替换.xap路径,并拥有应用程序uri

Application.Current.Host.Source.AbsoluteUri.Replace(@"ClientBin/MySilverlight.xap", "");

您可以使用HtmlPage.Document.DocumentUri获取当前uri(它在*.xaml.cs文件中工作)

我选择了一个完全通用的解决方案:

    /// <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);
        }
    }
//
///获取站点URL(从ClientBin向上一步)
/// 
公共字符串主机网站
{
得到
{
字符串host=App.Current.host.Source.AbsoluteUri;
int clientBin=host.IndexOf(“clientBin”,0);
如果(clientBin==-1)
return“在”+主机中找不到\“ClientBin\”;
返回host.Substring(0,clientBin);
}
}

如果我的答案不正确,请更具体一点。我想写一个通用代码!!!我希望那是自我理解。这只是一个例子,请不要按照例子中提供的值进行一般性思考。如果我尝试一下呢?还是通过了考验!你泛化它是什么意思?David,字符串xyz.com/确实包含URL,所以在我看来它是正确的。为什么你认为这是错误的?很好的信息,但找不到可以帮助我的东西。你也可以对该字符串进行解压编码。。用
Application.Current.Host.Source.AbsolutePath
值替换它……我觉得这需要抛出一个异常,而不是返回一个伪字符串。