2009-07-19 9 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); 

そして、クライアントコードは次のとおりです。任意のWebアプリケーションで

var FileName = FilesArr[0]; 

それがうまく機能しているが、Facebookのプラットフォームでリリースされた自分のアプリケーションではjavascriptのコードは、配列が、通常のウェブアプリケーションでjavscriptコードが表示さ見ていません登録された配列

この問題が発生する理由を教えてください。

お返事やお試しいただきありがとうございます。

答えて

0
  1. IFrameアプリケーションを開発していますか?その場合、ASP.NetセッションがメインフレームからIFrameに渡されないP3P問題が発生している可能性があります。 可能な解決策はthis linkをご覧ください。
  2. もう1つの問題は、問題の性質です。つまり、配列がコードビハインドからJavaScriptに渡されないのでしょうか、それとも渡されますが、値はありませんか?スクリプトの一番上にalert(FilesArr);を追加して、objectまたはJavaScriptエラーを出力するかどうかを確認してください。
  3. 最後に、問題を限定するために、別のブラウザでテストしてください。これは単なるIEの問題ですか、それともFirefoxでも発生しますか?ブラウザ間で一貫性があるなら、あなたは物事のASP.Net側に焦点を当てる必要があることを知っています:)

これらのどれも助けてください。

+0

私はすでにonOprerender()メソッドをオーバーライドしている を使用していますが、問題は存在していましたが、Firefoxで試したことがありません。Firefoxは他のブラウザの結果とは何か分かりませんでした。すべて宣言され、javascriptエラーは空の配列ではないと報告されました – Ahmy

+0

問題を強制してください。 1.文字列変数をページクラスに追加します。 保護された文字列FilesArr; 2. Page_Loadに次のようなファイルを追加します。 FilesArr = "var FilesArr = {1,2,3,4};"; 3. HTMLページで、スクリプトの先頭に次のコードを追加します。 <%Response.Write(FilesArr); %> 今すぐページを実行し、配列が利用可能かどうかを確認してください。 幸運。 –

関連する問題