C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 121 を表示中)
■72361 / )  Re[6]: TabContainer内コントロールへの初期
□投稿者/ ふも (8回)-(2014/06/05(Thu) 15:04:16)
2014/06/05(Thu) 15:13:15 編集(投稿者)

No72351 (WebSurfer さん) に返信
> ■No72336 (ふも さん) に返信
>>AJAXControlToolkitのサンプルで確認したところ、TabContainerのプロパティのうち、「OnDemand」をTrueのTabContainerが存在しない場合、初期フォーカスがセットされないようです。
>
> それは初期画面では後ろに隠れていて表示されてない TabPanel(サンプルで言うと、例えば一番上の
> TabConatiner の中の Email タブ)内のテキストボックスのことを言ってますよね? 表示されてない
> のでフォーカスを当てようがないです。
>
> TabContainer の onDemand プロパティを true にすると(デフォルトでは false)、後ろに隠れてい
> る TabPanel が表示される度に、Ajax を利用して、その TabPanel の内容をサーバーから取得して表
> 示します。(TabPanel の OnDemandMode プロパティがデフォルトの Always の場合です。Once, None
> の場合は動作が異なります。サンプルの一番下にある「OnDemand feature:」を操作してみると分かる
> はず)
>
> TabContainer の onDemand プロパティが false(デフォルト)の場合は、初期画面で一度に取得した
> TabPanel を切り替えて表示します。なので、初期画面でフォーカスが当たっていても、タブを切り替
> えて再表示するとフォーカスは外れます。
>
> 以上のような訳で、 TabContainer の onDemand プロパティを true にして、目的のテキストボックス
> に Page_Load でフォーカスを当てれば、タブを再表示するたび Ajax を使って書き変わるので、フォー
> カスも当たるということです。
>

返信ありがとうございます。

なるほど、説明されて納得できました。ありがとうございます。

今の話を受けて、まず動作検証用に、まっさらなWebappricationのプロジェクトを作成して試してみたのですが、
そこだとなぜかフォーカスセットがうまく動きません。
具体的には、画面初期表示時にはフォーカスがセットない状態です。
必要最低限の動作は実装できていると考えているのですが、どうも原因がつかめません。

次のソースと合わせて、原因がわかる方がいらっしゃいましたら、ご教示お願いします。
返信 編集キー/


管理者用

- Child Tree -