我有一个ASP.net网站,在它的.aspx页面中有一个javascript函数
从我的silverlight项目中,我希望在javascript函数中获得一个属性值,我使用"eval“来计算函数,使用GetProperty来返回我想要的值
问题是,只有当我第二次调用该函数但第一次调用时从未返回时,GetProperty才会起作用
javascript代码:
function RETURNIMAGE() {
var x = { value: document.getElementById("ImageContainer").value };
return x; }c#代码:
string getImage = "document.getElementById('myIFrame').contentWindow.RETURNIMAGE ();";
ScriptObject imgObject = HtmlPage.Window.Eval(getImage) as ScriptObject;
var img = imgObject.GetProperty("value");有什么需要帮忙的吗?
发布于 2010-01-26 22:19:08
因为它第二次工作,所以我强烈怀疑第一次IFrame仍然在加载它的内容。Silverlight和浏览器都将彼此异步地进行各种活动。
发布于 2010-01-29 01:41:51
这可能有助于暂停代码,直到页面加载:可以在框架中放置一个隐藏的对象/属性,但要确保它位于要获取的属性之后。然后,可以在c#代码中插入一个' while‘循环,以检查该隐藏属性是否存在(只有在正确加载属性值时,循环才会中断),然后将其余代码放在while循环之后。
这个解决方案可能不是最优的,但可以用来检查它是否是加载问题。
https://stackoverflow.com/questions/2139892
复制相似问题