マスターページ構成のWebフォームで既定のボタンを指定する方法

ボタンが複数配置されているWebフォームでは、一番左上のボタンが既定のボタンになるらしく、エンターキーを押すとそのボタンのクリックイベントが発生する。

到達点

指定したボタンを既定のボタンにする

 

既定の動作

一番上のバナー画像もイメージボタンになっていて、バナーを押すとメインメニューに展開する。このバナーが既定のボタンになっているので、検索キーを入力してエンターを押すと、メインメニューに展開してしまう。
00

 

作業

既定にしたいボタンのIDをHTMLソースから控える。ボタンIDは「"ctl00$MainContent$ButtonTVSearch」。
01

Webフォームが展開されるマスターページの「ContentPlaceHolder」のFormのIDを調べる。FormのIDはForm1である。
02

Page_Loadイベントで既定のボタンを指定する。

Sample
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load

    Dim form As HtmlForm = Master.FindControl("form1")
    form.DefaultButton = "ctl00$MainContent$ButtonTVSearch"

End Sub

 

すると下図のようにJavascriptが生成され既定のボタンが設定されていることを確認できる。
03

これで検索ボタンが既定のボタンになる。

コメント

このブログの人気の投稿

ダブルクォーテーションで括られたCSVカ​ンマ区切りテキストファイルを SQL Server で Bulk Insert する方法

PowerShellでTSV/CSVの列を絞り込んで抽出し、(先頭/行末)からN行出力する

IKEAの鏡を壁に取り付ける