はじめに
本記事では、ASP.NETのButtonコントロールについて少しご紹介します。
SubmitとButton
ASP.NETのWebフォームにButtonコントロールを設置するとデフォルトではSubmitボタンとなります。
Submitボタンの場合、他のテキストボックスなどにフォーカスがある状態でEnterキーを押下すると、直近のSubmitボタンがデフォルトボタンとして実行されてしまいます。
これを回避するにはSubmitではなくButtonタイプのボタンにすることです。
もちろんinputタグでType=buttonを指定すれば設置可能ですが、 ButtonコントロールでもUseSubmitBehaviorプロパティを指定することで可能です。
UseSubmitBehavior=true
→ <input type="submit"
UseSubmitBehavior=false
→ <input type=”button”
となります。
発生した懸案
今回何が便利だったかというと、IE限定で既に構築済みだったシステムでEnterキーをフックして利用していたのですが、IE廃止に伴うブラウザ対応により、キーフック動作がうまく行かず直近のSubmitが動作してしまうことでした。 これはUseSubmitBehaviorプロパティをFalseに設定するだけで解決しました。
ちなみに、デフォルトボタンの設定は、直近のSubmitではないボタンでも、PanelコントロールのDefaultButtonプロパティで設定することも可能です。
DefaultButtonは使い方によっては入力効率を上げられる便利な機能です。
業務に合わせて利用者の使いやすいユーザーインターフェースを心がけたいですね。