- - PR -
Clickイベントを破棄できますか?
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-01-14 14:19
ASP.NETでは、ボタン(ここではButton1)押下時に、
・ Page_Load() ・ Button1_Click() という順序でイベントが発生します。 Button1_Click()イベントが発生する前に、このイベントをキャンセルさせたいのですが、 このようなことは可能でしょうか? もし可能でしたら、実現方法を教えてください。 | ||||||||
|
投稿日時: 2004-01-14 15:20
サーバサイドでイベントキャンセルできるかは、残念ながら僕にはわかりません。
ですが、クライアントサイドであれば Button1.Attributes.Add("onClick","return confirm('実行しますか?');") のように、ポストバック前でキャンセルできます。 どのような使い方をなさるのでしょうか? | ||||||||
|
投稿日時: 2004-01-14 15:39
返信ありがとうございます。
今回は、サーバサイドでキャンセルしたいのです・・・。 なので、例えばPage_Load()などで何らかの処理を行って、 Clickイベントをキャンセルできたら良いなと考えています。 Private Sub Page_Load() If xxxxx then 'クリックイベント処理をキャンセルしたい '※Clickイベントを発生させたくない End If End Sub Private Sub Button1_Click() 'クリック時の処理 End Sub | ||||||||
|
投稿日時: 2004-01-14 15:48
そういう風に、if文を入れていいなら、、、 Private CancelClickEvent As Boolean Private Sub Page_Load() If xxxxx then 'クリックイベント処理をキャンセルしたい '※Clickイベントを発生させたくない CancelClickEvent = True Else CancelClickEvent = False End If End Sub Private Sub Button1_Click() 'クリック時の処理 If CancelClickEvent = True Then Return End Sub つまり、イベントそのものをキャンセルするのではなく、イベントの内容をキャンセルするわけだけど、これでいい? [ メッセージ編集済み 編集者: Jitta 編集日時 2004-01-14 15:50 ] | ||||||||
|
投稿日時: 2004-01-14 16:44
uguisuさん、こんにちは。
VBなら、RemoveHandler ステートメントでどうでしょう? (C#なら、Button.Click -= this.Button_Click とか書くのかな?) | ||||||||
|
投稿日時: 2004-01-14 17:51
Jittaさん、きくちゃん、返信ありがとうございます。
Jittaさん、今回は、イベントそのものをキャンセルしたかったので、 イベントの中身をキャンセルするのとはちょっと趣旨が違いました・・・。 説明不足で申し訳ありません。 きくちゃんさん。 RemoveHandlerってAddHandlerで関連付けをしたイベントを削除するステートメント? でしょうか? 例えば、 Private Sub Button1_Click() Handles Button1.Click 'クリック時の処理 End Sub というようにHandlesを使って、イベントを処理を指定してしまうと、 RemoveHandlerが使用できない気がするのですが・・・。 できるのかな〜・・・。 | ||||||||
|
投稿日時: 2004-01-14 18:12
uguisuさん、こんばんは。
そうかも知れませんが、実質的に何か違うんですか?
まあ、百聞は一見にしかずというか、論より証拠というか(どっちも違う?)、一度試してみて、それから、結果を教えて下さい。 【追記】 あれ? イベントの発生そのものをキャンセルしたい、という事ですか? #だとしたら多分、出来ないんじゃないかな...。 RemoveHandler はイベントとイベントハンドラの関連づけを解除するステートメントなので、結果的にはJittaさんの方法と変わらないと思います。 [ メッセージ編集済み 編集者: きくちゃん 編集日時 2004-01-14 18:37 ] | ||||||||
|
投稿日時: 2004-01-14 19:37
きくちゃんさん。こんばんは。
そうです。イベントの発生そのものをキャンセルしたかったのです・・・。 色々貴重な意見をありがとうございました。 |