【发布时间】:2010-04-26 14:46:04
【问题描述】:
我正在开发一个网站,并且我正在使用 infragistics for web,但我想在某些页面中使用 Silverlight 控件(Infragistics 也是如此)。有没有办法从 aspx 页面访问 silverlight 控件的属性和方法?
提前感谢您的帮助。
【问题讨论】:
标签: c# .net asp.net silverlight infragistics
我正在开发一个网站,并且我正在使用 infragistics for web,但我想在某些页面中使用 Silverlight 控件(Infragistics 也是如此)。有没有办法从 aspx 页面访问 silverlight 控件的属性和方法?
提前感谢您的帮助。
【问题讨论】:
标签: c# .net asp.net silverlight infragistics
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 服务写回应用程序的会话或数据库,然后您的服务器端页面调用可以从您编写的任何位置读取数据到。
主要的一点是您需要某种类型的中间件来将数据返回到服务器,以便它可以访问并且您想要一些灵活的东西(隐藏字段方法是我的选择)。
【讨论】: