- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:別コントロールのサーバ側イベントに来てしまう)
別コントロールのサーバ側イベントに来てしまう
このQ&Aのポイント
- ASP.NET4.0でWEBシステムを開発中の質問者が、TextBoxのTextChangedイベントでサーバ側の処理を行っている途中に、近くに配置しているボタンのClickイベントが発生してしまう問題に直面しています。
- デバック中に発見されたこの問題は、UpdatePanelを使用してページを構築するときに注意が必要なポイントの一つです。
- 質問者は、なぜボタンのClickイベントが起こるのか、Enterキーの押下などの原因が考えられるのかについても質問をしています。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
> PostBack時、押してもいないボタンのClickイベントに来てしまうようなことがあるのでしょうか。 プログラムの記述によってはあり得ます。 Webはクライアント(ブラウザ)とサーバーがつねに繋がっているわけではないですから、イベントを発生させるためにASP.NETはかなり無茶なことしてます。 具体的にはVeiwStateに以前の状態を格納しておいて、ブラウザからのリクエストとViewStateの中身を比較してイベント発生させてます。 なので、このイベントを発生させる条件を満たしてしまう状態をたまたまつくりこんでしまうと、予想外のイベントが発生することもあり得ます。 ソースレベルでしっかり解析しないと解答できる人はいない話になってそうな。。。
お礼
回答ありがとうございます。 先日まで別案件で出張していました。 > なので、このイベントを発生させる条件を満たしてしまう状態をたまたまつくりこんでしまうと、 > 予想外のイベントが発生することもあり得ます。 そういう状況を想定してプログラムの構成を考えていかないといけませんね。 きれいなプログラムならそのようなことはないのかも知れませんが... HTML5など、新しい技術がいろいろ出てきているので、もっと幅広く勉強していきます。 ありがとうございました。