传递动态参数

时间:2010-01-31 22:03:13

标签: silverlight silverlight-3.0

我想将web应用程序中的动态参数(UserName)传递给silverlight。我知道如何在Silverlight 2.0中使用Asp:Silverlight标签,但是在Silverlight 3.0中有Object标签而不是Asp:Silverlight标签,我想知道如何将动态参数传递给Silverlight 3.0?我知道我们可以使用init param,但是在initparam中我们可以发送静态param。在init param中,您可以发送参数和静态值。我需要发送动态参数。

请求帮助, 谢谢

4 个答案:

答案 0 :(得分:3)

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

我希望这会有所帮助。

答案 1 :(得分:1)

您可以使用Object标记的InitParams将一些信息传递到Silverlight应用程序,并在Startup事件的StartupEventArgs中访问它。

答案 2 :(得分:1)

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

或者,在您的主机aspx页面中,将runat="server"id添加到您的<params ...>标记中:

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

Page_Load(...)方法背后的代码中,您可以执行以下操作:

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

答案 3 :(得分:0)

在Sliverlight主机页面中,将runat =“Server”和ID作为“initParams”添加到Sliverlight对象标记中的标记中。

在Page_Load()方法中。您可以将动态值分配给 initParams Like Below

<强> initParams.Attributes.Add( “值”, “PAGEID = 3”);