无法将参数传递到禁用_sl_historyFrame的silverlight应用程序
本文关键字:sl historyFrame silverlight 应用程序 参数传递 | 更新日期: 2023-09-27 18:25:22
我在aspx
页面中禁用了_sl_historyFrame
,以阻止后退/前进导航。现在我发现我不能像这样将参数传递给应用程序:http://contoso.com:7553/Page.aspx#/Sub/1/2.
我在NavigationFrame_OnNavigating
方法上得到空Url。
有什么办法解决它吗?
我通过将initParams
参数传递给aspx页面中的silverlight对象来解决此问题。
Page.aspx
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2">
<param name="splashscreensource" value="SplashScreen.xaml" />
<%
string value = String.Empty;
// take parameters from QueryString
foreach (string key in Request.QueryString.Keys)
{
value += String.Format("{0}={1},", key, Request.QueryString.Get(key));
}
Response.Write(String.Format("<param name='"initParams'" value='"{0}'"/>", value));
// it writes <param name="initParams" value="id=1,var1=2,var2=3"
%>
<%-- another parameters --%>
</object>
在ApplicationStartup
方法中,我像这样处理
private void ApplicationStartup(object sender, StartupEventArgs e)
{
// some code...
if (e.InitParams != null)
{
// process our parameters
// example of getting: e.InitParams["ID"]
}
}
一些链接:
- http://jaliyaudagedara.blogspot.com/2012/09/how-to-pass-parameters-into-silverlight.html
- http://jesseliberty.com/2008/12/26/passing-parameters-into-silverlight-applications/