- - PR -
メッセージの表示
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2004-03-19 15:06
こんにちは、まゆりんです。
私もPage.RegisterStartupScriptを使用していましたが、画面に何も表示されない状態で アラートが表示されてしまう為やめました。 アラートで・・・とは言っても、ASPをやっていた頃のなごりですので ざっと作ってみると美しくないです(何を今更)。 #直打ちなのでコピペ非推奨
#更に余談: #地球が回っているのは、サーバ処理中にアラート表示を(強制的に)行っている為だと思います。 #つまり、サーバからクライアントへのレスポンスが完全に終了していない状態だからではないかと。 _________________ まゆりん @ わんくま同盟 Blog る。 | ||||
|
投稿日時: 2004-03-19 15:33
まゆりんさんの方法いいですね。
<%=〜%>というのは何度も使ったことありましたけど、そこでアラートを出力するのは考え付きませんでした。
これはRegisterClientScriptBlockメソッドのほうを使用していたなんてことはないですかね。 RegisterClientScriptBlockメソッドの場合だと、Pageオブジェクトの<form runat= server>要素の開始タグ直後にクライアント側のスクリプトが出力されます。 Page.RegisterStartupScriptで起きていたのでしたら私もいつ起きるかどきどきですな。 | ||||
|
投稿日時: 2004-03-19 15:39
余談につっこんで申し訳ないですが。。。 サーバからの「送信」は終わっています。クライアントが、受信しながら処理しているので、「受信」が途中で止まっています。「受信」がというか、「処理」が、ですけど。 そうですね。IEを起動して、VS.NETの「デバッグ」ツールメニューから「プロセス」を選び、プロセスの一覧からIEを選びます。次のポップアップで「スクリプト」にチェックして、ポップアップをすべて閉じます。するとVS.NETは「実行中」になるので、二重縦線の「停止」?■で止めるのではなく、一旦停止します。そしてIEの画面でポストバックさせるなりすると、スクリプトがあるところで止まります。1行ずつ実行させると、順次行数が増えていきます(笑) それで、やってないのでわかりませんが、RegisterStartupScriptではなく、関数化してRegisterClientScriptBlockの方へ登録してはどうでしょう?RegisterStartupScriptには、「document.body.onload = 追加した関数();」などを登録しておくと、読み込みがすべて完了した時点で、alertが表示されると思います。 ↑ 嗚呼、よく見ると、まゆりんさんのと、やってることは一緒じゃないか。。。 [ メッセージ編集済み 編集者: Jitta 編集日時 2004-03-19 15:42 ] | ||||
|
投稿日時: 2004-03-19 15:52
仰る通りでございます RegisterStartupScriptでしたら問題ないですね。 ドキドキさせてしまってごめんなさい。。。 _________________ まゆりん @ わんくま同盟 Blog る。 | ||||
|
投稿日時: 2004-03-19 21:23
これだと、メッセージ画面が表示されずに、999.aspx の画面に
遷移してしまいます。 メッセージ画面で、"OK"を押した後に次画面にするには、 どうすれば良いのでしょうか? Me.Literal1.Text = _ "<script language='JavaScript'>window.alert('" & msg_cd1 & "');</script>" Server.Transfer("../reference/999.aspx") ※登録ボタンとかで、"登録しました"を表示させて、次画面に遷移したい。 | ||||
|
投稿日時: 2004-03-19 22:15
ASP.NETが、どういう仕組みで動いているか、または、クライアントサイドとサーバサイドでどのようにプログラムが動くか。それからかなぁ?それを理解しておかないと、後々困りますよ。 とりあえず、こんな感じかな? RegisterClientScriptBlock("AlertAndTransfer", _ "<script language=javascript>" _ + "function AlertAndTransfer() {" _ + "alert('登録が完了しました\n次の画面へ移ります');" _ + "window.location.href(URL);" _ + "}" _ + "</script>") RegisterStartupScript("RegistOnLoad", _ "<script language=javascript>" _ + "window.document.body.onload = AlertAndTransfer();" _ + "</script>") | ||||
