将查询字符串传递给silverlight

时间:2011-02-18 13:23:56

标签: silverlight

我有一个拥有许多xaml页面的silverlight项目。我有一个外部网站,可以打电话给silverlight网站,例如http://mysilverlightproject:1230.com?queryString1=Page1.xaml

我想通过传递查询字符串中的值来更改页面。

是否可以将主要的xaml页面更改为查询字符串中的另一个页面?

由于

4 个答案:

答案 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
            }
        }