我有一个拥有许多xaml页面的silverlight项目。我有一个外部网站,可以打电话给silverlight网站,例如http://mysilverlightproject:1230.com?queryString1=Page1.xaml。
我想通过传递查询字符串中的值来更改页面。
是否可以将主要的xaml页面更改为查询字符串中的另一个页面?
由于
答案 0 :(得分:3)
string val = string.Empty;
if (HtmlPage.Document.QueryString.ContainsKey(”foo”))
{val = HtmlPage.Document.QueryString["foo"];}
答案 1 :(得分:1)
据我所知,从App类分配后,您无法更改主页面。但您可以使用Navigation framework并导航到所需的页面。在这种情况下,您还可以使用浏览器后退/前进按钮 This post是关于从背后的代码导航。
答案 2 :(得分:0)
了解Silverlight导航应用程序的工作原理。它将为您提供您所要求的功能。
答案 3 :(得分:0)
您可以通过特定于不同URL的initparams将pageId传递给SL应用程序,并在SL应用程序内加载所需页面而不是默认的起始页
Init params放在html中,并在SL app中传递,如下所示
<param name="InitParameters" value="queryString=Page10" />
在里面你可以使用SilverlightHost
类来获取它们
SilverlightHost host = new SilverlightHost();
if (host.InitParams.Count > 0)
{
foreach (var c in host.InitParams)
{
if(c.Key == "queryString")
RedirectToUIPage(c.Value) // your method
}
}