如何在Silverlight中调用带有命名空间的Javascript函数?

7
自从我将JavaScript函数放入命名空间中后,我遇到了问题。原先版本1的代码工作正常。最初,为了从Silverlight内部调用JavaScript,我使用以下代码:
HtmlPage.Window.Invoke("hideMyDiv");

我的JavaScript代码如下:

function hideMyDiv() {
$('#MyDiv').fadeOut();

现在,我已将我的JavaScript代码重构为命名空间。所以它的代码看起来像这样:

var activity = {
message: null,
hideMyDiv: function() {
    $('#MyDiv').fadeOut();
}   };

我可以在JavaScript中调用这个重构后的函数,它的功能与以前一样:

$("document").ready(function() {
activity.hideMyDiv();   });

但是当我尝试从Silverlight中使用它时,会出现以下错误:无法调用:activity.updateInfo。这是我当前的Silverlight代码:

HtmlPage.Window.Invoke("activity.hideMyDiv");

我做错了什么?(非常感谢!)
1个回答

12

这是正确的方法..

ScriptObject so = HtmlPage.Window.Eval("activity") as ScriptObject;
so.Invoke("hideMyDiv");

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接