- - PR -
ASP.NETで、確認ダイアログを条件付で表示させる方法
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-04-10 00:41
ASP.NET開発をVB.NETで行っています。
ASP.NET開発初心者なので初歩的な事を質問させて頂きます。 Webコントロールのボタンをクリックした時に、JAVAScriptのconfirmを表示させ、return値で処理を分岐させる手順はこのサイトをみて理解出来ましたが、 confirmをボタンクリック時に毎回出すのではなく、ある変数が特定の値の時だけ、 そのconfirm出すような事は可能なのでしょうか? | ||||
|
投稿日時: 2005-04-10 02:02
C#の変数ですか?それなら「ある変数が特定の値の時だけ」confirmを出力すれば いいのです。 といっても、いま実際にどういう処理をしてるのか、もう少し具体的に書いてくれると 状況がわかりやすいかも。 [ メッセージ編集済み 編集者: べる 編集日時 2005-04-10 02:03 ] | ||||
|
投稿日時: 2005-04-10 02:06
その変数がクライアント側にあるのかサーバ側にあるのか解らないのですが、どちらにせよif文で条件をみるだけですよ。サーバ側の変数でJavaScriptの挙動を変えたいときは、JavaScriptを動的に生成すればいいだけです。 いまどのようなコードか開示できませんか? _________________ たつごろー codeseek こみゅぷらす | ||||
|
投稿日時: 2005-04-10 21:41
みなさんご返答ありがとうございます。
説明が足りませんでした。 confirmを表示するかしないかの条件値とは、サーバ側の変数です。 何をやりたいか具体的にいいますと、Webコントロールのテキストボックスのチェンジイベントで、ある変数に、例えば「1」を代入します。チェンジイベントが起きなければこの変数の値は「0」とします。 そしてWebコントロールのボタンをクリック時に、その変数(サーバ側変数)が「1」の時に、confirmを表示して、OKなら次の処理へ進み、キャンセルならばそこへとどまります。サーバ変数が「0」の時は、confirmのOK時処理を行います。 クラサバのシステムではよくある処理ですが、これをASP.NETで行うのは無理があるのでしょうか? | ||||
|
投稿日時: 2005-04-10 23:19
そのチェンジイベントのタイミングでボタンにconfirmのスクリプトを割り当ててあげれば良いと思います。 そうすれば、その変数を用意する必要すらありません。 | ||||
|
投稿日時: 2005-04-11 06:37
わからないけど)してるか書いてもらえると答えやすいのですけれども。 確認ですが「チェンジイベント」ってサーバー側のイベントですよね?(サーバー側の 変数に代入するんだから、そうか。) OK時処理とかの「処理」はクライアント側の処理ですよね? たとえば、 PageLoadかどっかで Button1.Attributes["onclick"]=(OK時処理); とかしといて、チェンジイベントのハンドラで Button1.Attributes["onclick"]= "if(confirm('OK?')){(OK時処理)}else{(キャンセル時処理)};" とすればよいですかね。ただし、テキストボックスの値を変えてから最初にボタンを 押した時(初めてPostBackするとき)は当然メッセージボックスは出ませんが。 (実はテキストボックスはAutoPostBackでしたとかだと話が変わってくるかも) もし、何らかの理由でどうしても変数で制御したいということであれば、PreRender イベントか何かで(コントロールのイベントが起きた後に)javascriptを書き分ける とかですかね。 | ||||
|
投稿日時: 2005-04-11 08:34
ご返答ありがとうございます。
処理内容についてですが、 OK時処理とは別のWebフォームを呼び出す処理です。 現状では、Attributes.Addを入れているところは、PageLoadになり、 WebコントロールのテキストボックスをAutoPostBackにはしていません。 また、Webコントロールのテキストボックスは複数あり、どのチェンジイベントにも 同じサーバ変数に同じ値を代入させて、複数あるWebコントロールのテキストボックスの内どれか一つでも、チェンジイベントが走った時にWebコントロールのボタンで確認ダイアログを表示させようとしています。 | ||||
|
投稿日時: 2005-04-11 13:34
daitoさんが求めている仕様を、プログラミングで使う言葉を排除して説明していただけませんか?エンドユーザにとってどういう風にみえてほしいとか、どういう操作をするとか。
そうすれば何とかなる気がします。 _________________ たつごろー codeseek こみゅぷらす |