- - PR -
postback直前のメッセージ
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-03-17 14:47
いつも大変助けていただき、ありがとうございます。
さて、大量のデータを読み込んだり回線が細かったりしてポストバックに時間がかかるときのために「読込中です。しばらくお待ちください。」などのメッセージを出したいのですが教えください。 ページが変わるものは前回解決できたのですが、同じページ内での場合ができません。 よろしくお願いします。 [ メッセージ編集済み 編集者: 範子 編集日時 2005-03-17 14:48 ] |
|
投稿日時: 2005-03-17 16:15
質問からして
サーバーで長時間かかる処理をしてる間にメッセージをだすのではないのですよね? ページ自体の読み込み中にメッセージを出すのは不可能かと。。。 |
|
投稿日時: 2005-03-17 17:17
burton999 様。お返事ありがとうございます。
おっしゃるとおり不可能のようですね。 例えば、ボタンをクリックしたときポストバックしますが、 それと同時に、クライアント側で、メッセージ処理ができないものかと・・・。 aspのプログラム上にメッセージを仕込んでおくと、ポストバックに時間がかかる場合にメッセージ自体がすぐに表示されません。 また、妙案がでましたらよろしくおねがいします。 |
|
投稿日時: 2005-03-17 17:54
ASP.NETだけでは無理でしょうけど、クラアントスクリプトを使えばボタンを押した時やsubmit直前にメッセージを表示することは可能です。
//submit直前にLabel1にメッセージを表示する string script = "document.getElementById('" + Label1.ClientID + "').innerText = 'お待ちください';"; base.RegisterOnSubmitStatement("hoge", script); |
|
投稿日時: 2005-03-17 18:51
たしかにtodo氏の方法ですと、うまくいきますね。
クライアントスクリプトでやってもブラウザが真っ白になるかと思ってました。 |
|
投稿日時: 2005-03-17 22:03
前回のと組み合わせれば?
ポストバックして、そのページで処理するのではなく、セッションなどに必要な情報をしまって、ウェイト画面にリダイレクト。そこから本当に処理するフォームにリダイレクト。 _________________ |
|
投稿日時: 2005-03-18 13:17
todo様 解決策をありがとうございます。
せっかくの解決策ですが、私お恥ずかしいながらクライアントスクリプトってはじめてでして、 string script = "document.getElementById('" + Label1.ClientID + "').innerText = 'お待ちください';"; base.RegisterOnSubmitStatement("hoge", script); をどこに記述すればよいのかわかりません。 <asp:Button id="Button1" runat="server" Text="Button"> の中とか Sub Button1_Click(sender As Object, e As EventArgs) End Sub に挿入してみたのですがうまくいきません。 初心者ですみません。 よろしかったら教えていただけると幸いです。 |
|
投稿日時: 2005-03-18 13:59
結論を言うのは簡単なのですが…
たとえば、RegisterOnSubmitStatement について調べてみました? |