ASP.NETの<button>タグには、onserverclick属性がある。
実は、ここにイベントハンドラ名を直接指定し、<script>タグにイベントハンドラの定義を書くと、ServerClickイベントに登録されて、押されたらOnServerClickを経由して呼ばれるようになっている。
HtmlButton.OnServerClick(EventArgs) メソッド (System.Web.UI.HtmlControls) | Microsoft Docs
Default.aspx.csは、
もはや空でいい。
Default.aspxは、
このようにイベントハンドラの定義とタグを1つのaspxファイルで完結させることができる。
![これが](https://cdn-ak.f.st-hatena.com/images/fotolife/B/BG1/20220307/20220307153202.png)
これが、
![こうなる](https://cdn-ak.f.st-hatena.com/images/fotolife/B/BG1/20220307/20220307153231.png)
こうなる。
この時、イベントハンドラにブレークポイントを仕掛けておくと、
![呼び出し履歴から、OnServerClickの後で、イベントハンドラが呼ばれてるのがわかる。](https://cdn-ak.f.st-hatena.com/images/fotolife/B/BG1/20220307/20220307153331.png)
呼び出し履歴から、OnServerClickの後で、イベントハンドラが呼ばれてるのがわかる。
とはいえ、onserverclick属性とOnServerClickメソッドが、同じものなのか、どういう関係なのかは不明。