0

我正在使用本教程中教授的概念与我的 Silverlight 应用程序之间的 Javascript 进行通信。我希望 JavaScript 代码检查 HTML 端的所有表单字段是否都已填写,如果是,则在 MainPage 中运行一个方法。

问题是该技术返回对 ScriptableClass 对象而不是 MainPage 的响应。有谁知道 ScriptableObject 如何调用 MainClass 中的方法。也许使用在 ScriptableClass 对象中触发的 MainClass 中的事件?

public class ScriptableClass
{
    [ScriptableMember]
    public void gotdetails(string message)
    {
        if (message == "1")
        {
            // call next method in MainPage
        }
        if (message == "0")
        {
            // tell user to complete fields
        }
    }
}
4

1 回答 1

1

一种解决方案是将您的“gotdetails”方法移动到 MainClass 并将此 MainClass 注册为 ScriptableObject,我的意思是您根本不需要 ScriptableClass。

第二个选项,如果你想保留 ScriptableClass,是在 ScriptableClass 中创建静态事件并在 MainClass 中订阅此事件。使用静态事件,您不需要从 MainClass 实例访问 ScriptableCalss 实例。

MSDN 也有很好的关于 javascript 和 Silverlight 通信的演练。

于 2012-04-11T11:51:59.697 回答