我正在从 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");
}
我是客户端编程的新手。感谢您对此的帮助。
最佳答案
我得到了这个工作。问题是,JavaScript 文件被缓存了。我添加了新的方法showText后,编译了一遍,测试了一下。但是 JavaScript 文件没有得到更新,所以我的 Silverlight 应用程序找不到新的 JavaScript 方法 showText。清除浏览器缓存和 Silverlight 缓存没有帮助。为了解决这个问题,我重命名了 JavaScript 文件并重新编译了它。这次使用参数调用了该方法。 我仍然需要弄清楚如何在进行更改后更新 JavaScript 文件。我将 JavaScript 文件构建为 dll 的资源。
关于javascript - 从 Silverlight 调用 Javascript 函数时,函数出现错误 "failed to invoke",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13486644/