- PR -

画面切り替え

投稿者投稿内容
じぃ
常連さん
会議室デビュー日: 2005/09/12
投稿数: 23
投稿日時: 2005-10-05 10:41
初めて投稿します。宜しくお願いします。

ボタン押下時の、処理中です・・・とか、実行中です。
などの、メッセージを表示したく、いろいろ調べたのですが、
うまくいきません。
特に、以下のサイトを参考にさせてもらいました。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=4536&forum=7

<meta http-equiv="Refresh" content="1;URL=xxxxx.aspx">
を使い、待ち画面を表示するということでしたが、
以下のように実行したところ、うまくいきませんでした。

WebForm1.aspxのPage_Loadで、
Button1.Attributes["onclick"] = "window.open('main.htm?id=name','child', 'width=550,height=300');";

を書きました。

main.htmには、元の画面に戻るように、
<meta http-equiv="Refresh" content="1;URL=WebForm1.aspx">
を書きました。

ところが、ページはうまく表示されませんでした。
全て、自分で調べ見よう見まねで書いたのですが、3日思考錯誤しましたが、
分かりません。
宜しくお願いします。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-10-05 10:55
こんにちは、じゃんぬ です。

確認ですが、<head> に埋め込んだんですよね?
Web ブラウザで表示された時の HTML ソースも確認していますよね?

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
OpS
ベテラン
会議室デビュー日: 2003/12/09
投稿数: 50
投稿日時: 2005-10-05 11:04
こんにちは、
私はこんな感じで行っています。

StringBuilder sbScript = new StringBuilder();
sbScript.Append("document.getElementById('" + lblMess.ClientID + "').innerText = 'お待ちください';\\r\\n");
RegisterOnSubmitStatement("Mess", sbScript.ToString());
なおこ(・∀・)
大ベテラン
会議室デビュー日: 2004/04/08
投稿数: 174
お住まい・勤務地: 東京都
投稿日時: 2005-10-05 11:08
お世話になります。

Jittaさんのサイトにありました。
長い処理中に「お待ちください」画面を表示する
じぃ
常連さん
会議室デビュー日: 2005/09/12
投稿数: 23
投稿日時: 2005-10-05 11:43
じゃんぬねっとさん、OpSさん、なおこ(・∀・)さん、
ありがとうございます。

TO:じゃんぬねっとさん
<head>にかきました。
HTMLのソースは確認していませんが、ブラウザで表示は
できました。
ちなみに、WebForm.aspxと、main.htmは、同一ソリューション
(WebApplication)内で、間違っていませんか?

TO:OpSさん
OpSさんは、この処理を、ボタンクリックイベントに記載している
のですか?ページロードですか?

TO:なおこ(・∀・)
Jittaさんのサイトも参考にしていましたが、うまくいかず、
最初に載せた参考先で今はやっていました。



このような感じなのですが、お願いします。

OpS
ベテラン
会議室デビュー日: 2003/12/09
投稿数: 50
投稿日時: 2005-10-05 11:57
こんにちは、じぃ さん

private void Page_Load(object sender, System.EventArgs e){
 if(!IsPostBack){
   ここに記述しています。
 }
}
じぃ
常連さん
会議室デビュー日: 2005/09/12
投稿数: 23
投稿日時: 2005-10-05 13:23
OpSさんありがとうございます。

今、自分がやろうとしていることと並行して、
OpSに教えてもらったことをやってみました。
しかし、うまくいきませんでした。

初歩的な質問になってしまうかもしれませんが、
もう一度宜しくお願いします。

まず、OpSさんの方法は、IsPostBackを使って、画面で変更、処理が
指示されたときに、処理が走るということで間違いないでしょうか?

実際、教えて頂いたものは、StringBuilder型の変数に、スクリプト
を入れ、RegisterOnSubmitStatementにて、メッセージを表示する
というような機能で間違いないでしょうか。

この機能で、分からなかったのが、
sbScript.Append("document.getElementById('" + lblMess.ClientID + "').innerText = 'お待ちください';\\r\\n");
部分の、document.getElementById('" + lblMess.ClientID + "').innerText
なのですが、getElementByIdは、IDを指定するものというのは
分かったのですが、そのIDはWebForm1.aspxのIDでしょうか?
それとも、別でしょうか?
そこらへんの定義の知識がまだ曖昧で、分からない状態です。

すみませんが、宜しくお願いします。
OpS
ベテラン
会議室デビュー日: 2003/12/09
投稿数: 50
投稿日時: 2005-10-05 13:44
こんにちは。

そのIDはWebForm1.aspxでのラベルのIDです。
<asp:label id=lblMess runat="server"></asp:label>

フォームがsubmitされたら、メッセージを表示するものです。

>IsPostBackを使って、画面で変更、処理が指示されたときに、処理が走るということで間違いないでしょうか?
はい。そうです。

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