none
ブラウザ表示時にDropDownListの一覧を表示させる RRS feed

  • 質問

  • winxp+sp2

    vs2003 C#

    asp.net

     

    ページにDropDownListコントロールがあります。

    ブラウザでユーザがDropDownList右端の▼をクリックするとDropDownListのアイテムが一覧表示されますが、ブラウザでページを表示した時に自動でDropDownListのアイテムを一覧表示させることは可能でしょうか?

    知っている方がいましたら宜しくお願いします。

    2006年10月16日 10:28

すべての返信

  •  shuu さんからの引用
    ブラウザでユーザがDropDownList右端の▼をクリックするとDropDownListのアイテムが一覧表示されます

    この機能がどのように実現されているか、 考えてみてください。 そうすれば、 なにを調査すればよいかわかります。

    ASP.NET の DropDownList コントロールは、 HTML の select 要素に変換されて出力されます。
    HTML の select 要素を、 ブラウザが解釈して表示します。 どのような形で表示するかは、 ブラウザの実装によります。  ( → HTML 4.01 17.6, 参考日本語訳 )
    ※ ドロップダウンの形で表示するかどうか、 また、 右端に▼をクリックしたらドロップダンするのか、 といったことは、 すべてブラウザの実装しだいです。

    次に、 その表示された select 要素を制御する方法ですが、 これまたブラウザの実装によります。 一般的には、 HTML 文書に埋め込まれた ( または、 HTML 文書に取り込んだ ) JavaScript で制御することになります。
    ※ Web サーバからブラウザへ  HTML 文書を送り返したら、 そこで通信は終了しています。 ので、 Web サーバ側で動いているプログラムから、 直接制御できたりはしません。

    したがって、 調べるべきことは…
    1. HTML + JavaScript を使って、 ターゲットのブラウザで希望する機能が実現できるかどうか?
    2. (実現できたとして) その HTML と JavaScript を、 ASP.NET から出力するにはどうすればよいか?
    …です。

    ちなみに、 ターゲットが IE の場合は、 マイクロソフトの Dynamic HTML の SELECT オブジェクト を、 まずは調べてみてください。


    ※ ヒント: ドロップダウンリストを、 HTML の input 要素 (または span 要素) + button 要素 + select 要素 (リストボックス) の組み合わせで構成するという手法もあります。 この場合、 ASP.NET の DropDownList コントロールは使えません。

    2006年10月17日 0:59