2

我正在从 Silverlight 调用 JavaScript 函数。我的 JavaScript 文件如下:

function sayHello() {
    alert("Hello from Silverlight via Javascript");
}

function showText(mytxt) {
    alert(mytxt);
}

在我的 Silverlight .cs 文件中,我有 2 个用于 2 个不同按钮的事件处理程序。Button1 的事件处理程序调用 sayHello()。这很完美。

Button2 的事件处理程序调用 showText() 并且这个失败并出现错误“未能调用 showText”。以下是我的 Silverlight 代码。

    void myButtonClickEvent(object sender, RoutedEventArgs e)
    {
      HtmlPage.Window.Invoke("showText", "show this text");
    }

我是客户端编程的新手。感谢您对此的帮助。

4

1 回答 1

0

我得到了这个工作。问题是,JavaScript 文件被缓存了。添加新方法 showText 后,我​​对其进行编译并再次对其进行测试。但是 JavaScript 文件没有得到更新,所以我的 Silverlight 应用程序找不到新的 JavaScript 方法 showText。清除浏览器缓存和 Silverlight 缓存没有帮助。为了解决这个问题,我重命名了 JavaScript 文件并重新编译了它。这一次,该方法被使用参数调用。我仍然需要弄清楚如何在进行更改后更新 JavaScript 文件。我正在构建 JavaScript 文件作为 dll 的资源。

于 2012-11-27T06:22:09.793 回答