问候,
搜索了这个,但没有运气。
我尝试在Silverlight 4应用中传递查询字符串变量(然后检索它们)。首先我尝试了这个
this.NavigationService.Navigate(new Uri("/LoanProductionRegion?Elvis=Alive&ImHungry=true", UriKind.Relative));
但是HtmlPage.Document.QueryString并没有把它们拿起来,因为它们来自锚点(完整的网址看起来像http://localhost:1076/Dashboard.SLTestPage.aspx#/LoanProductionRegion?Elvis=Alive&ImHungry=true)。
我试图将vars放在前面,例如
this.NavigationService.Navigate(new Uri("?Elvis=Alive&ImHungry=true/LoanProductionRegion", UriKind.Relative));
this.NavigationService.Navigate(new Uri("/?Elvis=Alive&ImHungry=true/LoanProductionRegion", UriKind.Relative));
但两者都导致找不到" Page"错误。任何人都知道如何实现我之后的目标吗?
答案 0 :(得分:2)
您可以在页面中使用OnNavigatedTo方法,然后检查this.NavigationContext.QueryString [“Elvis”](或您喜欢的任何其他参数名称)。
NavigationContext(很像NavigationService)保证在调用OnNavigatedTo时初始化,因此在大多数情况下检查它是最方便的时间。
NavigationContext.QueryString只是一个IDictionary,它预先解析了查询字符串中的键值对。因此,您可以使用IDictionary执行任何操作 - 使用ContainsKey查看是否存在某些内容,在foreach循环中迭代它等等。