Pages

2012/04/12

[ASP.NET] ログインコントロール内部のテキストボックスにデフォルトフォーカスを設定する

ログインフォームを作成するための Login コントロールというものがあるのだが、
この内部に設定してあるテキストボックスに初期フォーカスを与えようとしたが意外とめんどくさかった。

.Focus() や、.SetFocus() などではできなかったために、 .FindControl() でテキストボックスを取得してからフォーカスを与えてあげた。他にいい方法があるのか調べるのも面倒だったので、とりあえずこの方法で実装。絶対もっと簡単な方法があるはずだ……。

// 型を厳密に指定するなら TextBox
var txt = LoginUser.FindControl("UserName");
if (txt != null) txt.Focus();

ちなみに、こんな方法もある。
[ASP.NET]Webフォーム上のフォーカスを制御するには?[2.0、3.0、3.5、C#、VB] - @IT

Related Posts Plugin for WordPress, Blogger...