次のような 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ファイルがそれを呼び出したときにまだロード中ですか?
この問題を解決する方法についてのアイデアをありがとう。私の説明が十分でない場合は、お知らせください。