2010-01-31 129 views
4

我想从Web应用程序传递动态参数(UserName)为silverlight。我知道我在Silverlight 2.0中如何使用Asp:Silverlight标签来实现这一点,但是在Silverlight 3.0中,Object标签代替了Asp:Silverlight标签,我想知道如何将动态参数传递到Silverlight 3.0?我知道我们可以使用init参数,但是在initparam中我们可以发送静态参数。在初始化参数中,您可以发送参数和静态值。我需要发送动态参数。传递动态参数

普莱斯帮助, 谢谢

回答

1

您可以使用Object标签的initParams在一些信息传递到Silverlight应用程序和访问它在启动事件的StartupEventArgs

+0

在初始化参数中,您可以传递静态参数。它只是param和静态值在initparam。我需要传递动态参数。 – Naseem 2010-01-31 22:06:38

3

您可以动态创建SL对象控件并在其中包含该参数。如果需要,您还可以通过JavaScript与您的控件进行交互。我假设你所说的动态参数是页面上HTML的一些值。如果该值在SL控制处于活动状态时发生变化,那么您将需要使用JavaScript将更改泵入SL控制。如果您从后面的代码获取数据,则可以使用initparms参数中的<%= SomeProperty%>。以这种方式使用时,ASP.Net会在页面呈现时抽取该值,然后浏览器将其视为静态值,但它是动态生成的。

我希望这会有所帮助。

1

如果您尚未删除包含它的程序集,则可以重新使用Silverlight主机控件。它仍然应该工作。

或者,在你的主机aspx页面,添加runat="server"id<params ...>标签:

<params runat="server" id="initParams" name="initParams" /> 

Page_Load(...)方法后面的代码,你则可以这样做:

this.initParams = "myKey1=something,myKey2=whatever..."; 
0

在您的Sliverlight主机页面中,将runat =“Server”和ID添加为“initParams”到Sliverlight Object标签中的标签。

在你的Page_Load()方法中。您可以将您的动态值的initParams在像下面

initParams.Attributes.Add( “价值”, “PAGEID = 3”);