- - PR -
【VS2003 + ASP.Net】DataGrid内ボタンクリックで 別ウィンドウ表示 ポストバックをさせたくない。
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-04-05 19:21
失礼します。
WebControls.DataGridを使用し(データの表示はDataViewにて)、 DataGridに配置しているWebControls.Buttonをクリックしたら ポップアップウィンドウにてカレンダを表示している画面があります。 そこでは、あるフラグを見てボタンの表示を デフォルトはa,b,c 値が違ったらa,b、それ以外はaだけ という風にボタンの表示が可変になるように作られています。 カレンダーから日付をセットする先のClientIdは取得できていまして 日付のセットにはなんら問題がないのですが、 ポストバック発生後ボタンの表示が発生前はa,bだけだったのが デフォルトのa,b,cに表示が戻ってしまいます。 ClientOnClickでの対応も考えたのですが、その際はClientIDの取得が できず問題が解決ができていない状態です。 同じような問題、もしくは解決方法を知っている方がいらっしゃれば ご教授ください。 よろしくお願いします。 | ||||||||||||
|
投稿日時: 2006-04-05 22:13
この、a, b, c のボタンがあるのは、カンレンダー画面ですか?それとも呼び出した画面ですか? ポストバックすると、というのは、どういうことでしょう? _________________ | ||||||||||||
|
投稿日時: 2006-04-06 08:50
-- 早速の返信ありがとうございます。 この、a, b, c のボタンは呼び出した画面で配置しております。 a, b, c のボタンはカレンダー画面を呼び出す画面ではありません。 カレンダーボタンを押す前にa, b, c のボタンの表示非表示はGridの ItemDataBound時に処理されています。 カレンダー画面からの値渡し先はグリッド内にあるFotter及びデータ部なので 可変状態となります。 ボタンを押すとSubmitが走るためおきている現象ではないでしょうか? 知識不足で申し訳ございません。 | ||||||||||||
|
投稿日時: 2006-04-06 21:51
仕様を考えているのは、掲示板を読んでいる人ではありません。掲示板に書き込んでいる人です。
ですから、掲示板に書き込んでいる人、つまりあなたが仕様を理解しているかということと伝達能力が、回答をもらえるかどうかに直接影響します。頑張って鍛えましょう。 それは置いておいて。
a, b, c は、画面にひとつですか?それとも、grid の中にあって、複数セット表示されるのでしょうか。 例えば、サーバ側で control.ClientID プロパティで表現されるものは、クライアント側ではただの id 属性です。したがって、カレンダーを表示するのを関数化し、
のような事をすると(要確認)、クライアント側で ClientID と同じものを取得することが可能です。 で、ポストバックというのは、カレンダーを表示するためのポストバックですね?ということは、ポストバックして、サーバ側で RegisterStartupScript メソッドを使って、ポップアップさせるスクリプトを仕込んでいるということでしょうか。IE7 では、デフォルトでブロックされます。IE6 でも、XP SP2 でブロックされるのかな?要注意です。 それは今関係なくて。 サーバ側に戻るということは、もう一度、
する処理を通っているはずですが?そこを通っていないのか、それともフラグがリセットされているのか、はたまた『値が違ったら』という判定で「前回の値と同じ」と判断されているのか。その辺がアヤシいところでしょうか。 〆 written by Jitta@わんくま同盟 on 2006/04/06 □ Microsoft MVP for Visual Developer ASP/ASP.NET October, 2005 - September, 2006 |
1