C# 从Silverlight控件导航URL

C# 从Silverlight控件导航URL,c#,asp.net,silverlight,silverlight-4.0,C#,Asp.net,Silverlight,Silverlight 4.0,我在Silverlight控件中工作,需要从XML文件同步上传一些静态数据。该文件位于同一Web服务器中。我可以获得控件的URI,如下所示: HtmlPage.Document.DocumentUri.ToString(); 返回URI以及显示包含控件的查询: http://example.com:8085/MyWeb/CustomPage.aspx?waid=a1a5780a8ddea6c517ae1-b4ef&nid=id78 我所需要的只是(除了主机名/端口外,它总是相同的),

我在Silverlight控件中工作,需要从XML文件同步上传一些静态数据。该文件位于同一Web服务器中。我可以获得控件的URI,如下所示:

HtmlPage.Document.DocumentUri.ToString();
返回URI以及显示包含控件的查询:

http://example.com:8085/MyWeb/CustomPage.aspx?waid=a1a5780a8ddea6c517ae1-b4ef&nid=id78
我所需要的只是(除了主机名/端口外,它总是相同的),我不想硬编码,因为这将部署在多个服务器中。所以,我想做的是获取网站URI。我在DocumentUri对象中尝试了localpath、host、AbsolutePath和其他方法,但似乎没有一种方法能满足我的需要。我怎么能在不做大量操作的情况下做到这一点呢。 谢谢

试试看:

System.Windows.Browser.HtmlPage.Window.Navigate(new Uri("urlString"));
请尝试以下操作:

var absoluteUri = Application.Current.Host.Source.AbsoluteUri;
int lengthWithoutParams = absoluteUri.IndexOf("?") < 0 ? absoluteUri.Length : absoluteUri.IndexOf("?");
string uploadUrl = absoluteUri.Substring(0, lengthWithoutParams).Replace("/ClientBin/<YourXAPfile>.xap", filePath);
HtmlPage.Window.Navigate(new Uri(uploadUrl));