GetProperty问题

时间:2010-01-26 14:10:30

标签: silverlight

我有一个ASP.net网站,在其.aspx页面内有一个javascript函数

从我的silverlight项目中,我希望在javascript函数中获得属性值 我使用“eval”来评估函数,使用GetProperty来返回我想要的值

问题是GetProperty仅在我第二次调用该函数时才起作用 但在第一次通话中永远不会回来

javascript代码:

function RETURNIMAGE() {
        var x = { value: document.getElementById("ImageContainer").value };
        return x;        }

c#c​​ode:

string getImage = "document.getElementById('myIFrame').contentWindow.RETURNIMAGE ();";
       ScriptObject imgObject = HtmlPage.Window.Eval(getImage) as ScriptObject;
        var img = imgObject.GetProperty("value");

有什么帮助吗?

2 个答案:

答案 0 :(得分:0)

因为它第二次工作我强烈怀疑IFrame第一次仍在加载其内容。 Silverlight和浏览器都将以各种异步方式开展各种活动。

答案 1 :(得分:0)

这可能有助于在页面加载之前停止代码: 隐藏的对象/属性可以放在框架中,但要确保它在要获取的属性之后。 然后可以在c#代码中插入一个'while'循环来检查这个隐藏属性是否存在(仅当正确加载属性值时循环中断),然后将其余代码放在while循环之后。

此解决方案可能不是最佳解决方案,但可用于检查是否存在装载问题。