0

次のような Google マップ JavaScript リンクがあります: string GoogleURL = "http://maps.google.com/maps?file=api&v=2&key=abcdefg"

このスクリプトを次のように登録するユーザー コントロールを作成しました。 ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), key, String.Format("", GoogleURL), false);

次に、このコントロールには、google.maps.MapTypeId.ROADMAP のような Google API から何かを呼び出す他のスクリプトがあります。

このユーザー コントロールは次の場所に配置され、Visible="false" デフォルトとして設定されます。

ボタンをクリックして AJAX を起動すると、サーバー側と同等の表示が設定されます。しかし、次のような例外が発生します: Microsoft JScript ランタイム エラー: プロパティ 'ROADMAP' の値を取得できません: オブジェクトが null または未定義です

ユーザー コントロールを updatepanel の外に置くと、すべてがうまくいきます。

Google の代わりにスクリプトを作成して、ajax でロードして実行しようとしましたが、それでも動作します。

なぜこれが起こるのかわかりません.AJAXロードが各JSファイルを同時に呼び出すため、GoogleのJSファイルはより多くの時間がかかるため、次のJSファイルがそれを呼び出したときにまだロード中ですか?

この問題を解決する方法についてのアイデアをありがとう。私の説明が十分でない場合は、お知らせください。

4

1 に答える 1

0

これを使用するか、関数のロードに同様のテクノロジーを使用してみてください。

http://api.jquery.com/ready/

于 2012-08-31T03:24:20.450 に答える