- PR -

postback直前のメッセージ

投稿者投稿内容
範子
常連さん
会議室デビュー日: 2005/01/15
投稿数: 46
投稿日時: 2005-03-17 14:47
いつも大変助けていただき、ありがとうございます。

さて、大量のデータを読み込んだり回線が細かったりしてポストバックに時間がかかるときのために「読込中です。しばらくお待ちください。」などのメッセージを出したいのですが教えください。

ページが変わるものは前回解決できたのですが、同じページ内での場合ができません。

よろしくお願いします。

[ メッセージ編集済み 編集者: 範子 編集日時 2005-03-17 14:48 ]
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2005-03-17 16:15
質問からして
サーバーで長時間かかる処理をしてる間にメッセージをだすのではないのですよね?
ページ自体の読み込み中にメッセージを出すのは不可能かと。。。
範子
常連さん
会議室デビュー日: 2005/01/15
投稿数: 46
投稿日時: 2005-03-17 17:17
burton999 様。お返事ありがとうございます。

おっしゃるとおり不可能のようですね。

例えば、ボタンをクリックしたときポストバックしますが、
それと同時に、クライアント側で、メッセージ処理ができないものかと・・・。

aspのプログラム上にメッセージを仕込んでおくと、ポストバックに時間がかかる場合にメッセージ自体がすぐに表示されません。

また、妙案がでましたらよろしくおねがいします。
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2005-03-17 17:54
ASP.NETだけでは無理でしょうけど、クラアントスクリプトを使えばボタンを押した時やsubmit直前にメッセージを表示することは可能です。

//submit直前にLabel1にメッセージを表示する
string script = "document.getElementById('" + Label1.ClientID + "').innerText = 'お待ちください';";
base.RegisterOnSubmitStatement("hoge", script);
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2005-03-17 18:51
たしかにtodo氏の方法ですと、うまくいきますね。
クライアントスクリプトでやってもブラウザが真っ白になるかと思ってました。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2005-03-17 22:03
前回のと組み合わせれば?
ポストバックして、そのページで処理するのではなく、セッションなどに必要な情報をしまって、ウェイト画面にリダイレクト。そこから本当に処理するフォームにリダイレクト。
_________________
範子
常連さん
会議室デビュー日: 2005/01/15
投稿数: 46
投稿日時: 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
に挿入してみたのですがうまくいきません。

初心者ですみません。
よろしかったら教えていただけると幸いです。
にしざき
ぬし
会議室デビュー日: 2003/06/30
投稿数: 304
投稿日時: 2005-03-18 13:59
結論を言うのは簡単なのですが…

たとえば、RegisterOnSubmitStatement について調べてみました?

スキルアップ/キャリアアップ(JOB@IT)