2009-07-19 37 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

相關問題