- PR -

Sessionについて

1
投稿者投稿内容
ほねっこ
会議室デビュー日: 2004/02/25
投稿数: 3
お住まい・勤務地: 神奈川
投稿日時: 2004-02-25 19:00
.NET初心者です。よろしくお願いします。

Buttonコントロールを用いて、ボタンが押下されるとBottunに書かれた文字をsession取得しています。
同時に小画面を開いて、その小画面内にsessionで取得した文字情報を表示させたいんですが、
小画面を開いた後に表示されるところは空白になってしまい、閉じた後にもう一度ボタンを押すと表示されます。
しかし、違うボタンを押すと前回取得したsessionが表示されてしまいます。

おそらく小画面の方が先に動いてしまっているために起こってると思うんです。
小画面についてはPage_Loadの所に書いています。
Sessionはこんな感じです。
Session["test"] = ((Button)sender).Text;
どこにどう書いたらいいのかわからないのでアドバイスよろしくお願いします。

[ メッセージ編集済み 編集者: dsk 編集日時 2004-02-25 19:09 ]
弟子
会議室デビュー日: 2004/02/03
投稿数: 11
投稿日時: 2004-02-25 19:23
子画面のポップアップはJavaScriptで行っているのでしょうか?
同時にButtonでサーバ処理を行うのであればセッションに格納した後で
Page.RegisterStartupScriptを呼ぶと確実です。
ほねっこ
会議室デビュー日: 2004/02/25
投稿数: 3
お住まい・勤務地: 神奈川
投稿日時: 2004-02-25 19:30
弟子さんアドバイスありがとうございます。
子画面はButton1.Attributes.Add("onclick"……
という感じです。
弟子
会議室デビュー日: 2004/02/03
投稿数: 11
投稿日時: 2004-02-25 19:36
イメージとしてボタンそのものの属性にonClickを含めないで
ボタンの押下の処理に対してスクリプトを実行する感じです。
こんな感じっすかね・・・?

// スクリプトの作成
string sc;
sc = "<SCRIPT LANGUAGE='JavaScript'>";
sc += "TestClick()";
sc += "</SCRIPT>";

// スクリプトの出力
if(!Page.IsStartupScriptRegistered("PopUp"))
Page.RegisterStartupScript("Popup", sc);
ほねっこ
会議室デビュー日: 2004/02/25
投稿数: 3
お住まい・勤務地: 神奈川
投稿日時: 2004-02-26 10:19
弟子さんありがとうございます。
そんな感じでやってみましたが、後ちょっとのところで行き詰ってます。

<asp:ButtonのなかにOnClick="TestClick()"で入れたら
デバッグするとコンパイルエラーで'TestClick'の定義がありませんとなってしまいます。
あとは合ってると思うんですが…。
1

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