2012-11-21 36 views
2

我正在从Silverlight调用JavaScript函数。我的JavaScript文件如下:从Silverlight调用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"); 
    } 

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

+0

刺在黑暗中:这是否工作? 'HtmlPage.Window.Invoke(“showText”,new object [] {“show this text”});' – McGarnagle

+0

我试过了。它不起作用。我geting相同的错误:“未能调用ShowText”。还有其他建议吗? –

回答

0

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

相关问题