如何从aspx页面访问silverlight控件的属性和方法?

时间:2010-04-26 14:46:05

标签: c# .net asp.net silverlight infragistics

我正在开发一个网站,我正在使用infragistics for web,但我想在某些页面使用silverlight控件(Infragistics)。有没有办法从aspx页面访问silverlight控件的属性和方法?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:4)

Silverlight控件正在客户端上运行,因此访问silverlight控件数据的最佳方式是通过javascript方法公开。

您可以将silverlight控件中的特性和功能映射到javascript方法,然后根据需要调用它们。

如果您需要访问silverlight数据服务器端,那么您应该通过javascript显示您需要的内容,然后在回发之前调用javascript函数并让它将值写入隐藏字段,以便您可以检索它们的服务器端访问请求的发布值。

要通过javascript公开您的某些数据,只需在您的Silverlight页面中创建功能,如:

[ScriptableMember]
public int GetValueFromSilverlight()
{
    // lame example
    return int.Parse(textBox.Value);
}

然后,您可以调用此函数客户端并将其值写入隐藏字段,这将导致它与其余数据一起发布。

我在做一个Silverlight项目的时候问了similar question一段时间。

您可以做的另一件事(我不建议)是让您的silverlight控件通过Web服务写回应用程序的会话或数据库,然后您的服务器端页面调用可以从您编写的任何位置读取数据到。

重点是您需要某种类型的中间件来将数据恢复到服务器以便它可以访问并且您希望某些内容是灵活的(隐藏字段方法是我的选择)。