【问题标题】:How do you make a ASP.NET Control talk to a Silverlight app on the same page in C#如何在 C# 中使 ASP.NET 控件与同一页面上的 Silverlight 应用程序对话
【发布时间】:2008-11-05 01:04:17
【问题描述】:
例如:
首先,假设我有一个带有 Windowless=true 的 Silverlight 应用程序,这样我就可以在它上面放置 ASP.NET 控件。然后我在页面上放置一个 ASP.NET 按钮。当用户按下 ASP.NET 按钮时,我怎么能说 Silverlight 应用程序中的控件文本发生变化?如何从捕获 ASP.NET 按钮单击的 C# 代码向 Silverlight 应用发送更新消息?
谢谢,
杰夫
【问题讨论】:
标签:
c#
asp.net
silverlight
silverlight-2.0
【解决方案2】:
根据记忆,您需要从您的 silverlight 应用程序中公开一个可编写脚本的成员,例如:
[ScriptableMember()]
public void ChangeText(string newText)
{
// Update your text control here
}
并在构造函数中注册它以从 javascript 编写脚本:
public MySilverlight()
{
InitializeComponent();
HtmlPage.RegisterScriptableObject("MyObject", this);
}
然后你可以从 javascript 调用它;
function ChangeText()
{
var yourObject = getElementById("yourObjectID");
yourObject.Content.MyObject.ChangeText("New Text");
}
然后只需连接按钮的客户端单击以调用 javascript ChangeText 方法。
希望这会有所帮助。