2009-07-19 47 views
0

我需要设置从代码的JavaScript阵列后面使用C#中Asp.Net2008现在的问题是,当我使用下面的C#代码寄存器阵列:注册JavaScript数组从后面的代码中的Facebook

string ArrVal = ""; 
     string Sep = ""; 
     for (int i = 0; i < 17; i++) 
     { 
      ArrVal += Sep + FilesCount[i].ToString(); 
      Sep = ","; 
     }   
     Page.ClientScript.RegisterArrayDeclaration("FilesArr", ArrVal); 

和客户端的代码是:

var FileName = FilesArr[0]; 
在它运作良好,但在我的应用程序在Facebook平台上发布的JavaScript代码没有看到普通的Web应用程序的javscript代码中看到该阵列,但任何Web应用程序

注册阵列

任何人都可以告诉我为什么会出现这个问题吗?

在此先感谢您的回复和试用。

回答

0
  1. 你正在开发一个IFrame应用程序吗?如果是这样,您可能会遇到P3P问题,其中ASP.Net会话不会从主框架传递到IFrame。 看看this link寻找可能的解决方案。
  2. 要弄清楚的另一件事是问题的本质是什么:数组是不是从代码隐藏传递到JavaScript,还是它被传递,但没有值?尝试在脚本的顶部添加alert(FilesArr);,并查看它是否打印object或JavaScript错误。
  3. 最后,只是为了限定问题,请在另一个浏览器中进行测试。这只是一个IE问题,还是出现在Firefox中?如果它在浏览器中是一致的,你就知道你需要关注的东西的ASP.Net方面:)

希望这些帮助。

+0

我已经使用此代码重写方法onOprerender() 和问题的存在,我已经在IE浏览器试过它不是Firefox我不知道是什么结果在Firefox或其他浏览器和数组是不是声明所有和javascript错误报告不是一个空数组 – Ahmy 2009-07-19 10:47:03