0

私のアプリケーション(asp.net-言語の背後にあるコードとしてvbを使用)では、サーバー側(vb)のページロードコードが最初に実行され、これが完了すると、javascriptonloadが実行されます。最初にjavascriptonloadを実行する方法はありますか?私のJavaScriptは、親ウィンドウから変数の値を取得し(iframeを使用)、それを使用して子ウィンドウにコントロールを設定します。ページロードはコントロールセットを処理します(親からの値が特定の値である場合、異なるチェックボックスが自動的にチェックされます)。

この問題に対する他の唯一の解決策は、現時点で値をチェックして、ページのhtmlを生成する別の関数が実行されたときにボックスがチェックされているかどうかを確認することです。これに関する問題は、関数がpagemethodsを使用してjavascriptから呼び出され、共有する必要があることです。このため、この関数の先頭をチェックして、チェックボックスがオンになっているかどうかを確認できません。ご協力いただきありがとうございます。

4

3 に答える 3

2

いいえ、JavaScriptは、サーバーがクライアントへの応答の送信を終了した後、常にクライアントで実行されます。

生成されたhtmlに対して実行するには、JavaScriptを変更する必要があります。

于 2012-08-28T14:25:03.033 に答える
0

あなたの質問への答えはノーです。

ただし、あなたがやろうとしていることを理解している場合は、サーバーからの値に基づいてコントロールを変更する必要があります。その値を取得するためにAJAXリクエストを送信し、それに応じてコントロールを更新してみませんか。

そうは言っても、アプリケーションのアーキテクチャは少し混乱しているように見えるので、必要なのがバンドエイドだけの場合は、そのサーバー値を生成し、idまたは非表示の入力要素内にレンダリングしてからその値を読み取ることができますあなたのJSで。

于 2012-08-28T15:01:27.820 に答える
0

親ウィンドウから値を取得するためだけに使用している場合は、以前に使用した回避策を少し使用できます。親ウィンドウから、iframeのソースを設定し、それに値を持つクエリ文字列を追加できます。次に、iframe内のページから、クエリ文字列をチェックして値を取得し、それに応じてチェックボックスをオンにします。

load pr prerenderでは、必要な変数をいつ設定するかに応じて、メインページに次のようなものを配置できます。iframeWhatever.Attributes.Add("src", "../filepath/page.aspx?ValueNeeded=" + ValueNeeded.ToString)

これにより、現在javascriptで達成しようとしていることを実行できると確信しています。

于 2012-08-28T15:13:31.570 に答える