方法 : ASP.NET Web サーバー コントロールにフォーカスを設定する

更新 : 2007 年 11 月

アプリケーションでは、必要に応じて特定の ASP.NET Web サーバー コントロールにサーバー コードを使用してフォーカスを設定できます。フォーカスはコントロールに動的に配置できますが、既定でフォーカスを受け取るコントロールを指定することもできます。既定のフォーカスはフォーム全体に設定できますが、Panel コントロールの子コントロールに設定することもできます。

フォーカスは、次のような型のコントロールに配置できます。

これらのコントロールを 1 つ以上含むコントロールにフォーカスを設定することもできます。たとえば、Login コントロールにフォーカスを設定できます。この場合、フォーカスは Login コントロールでフォーカスを受け取ることができる最初のコントロールに配置されます。

一般に、フォーカスを受け取ることができないコントロール、隠しコントロール、または無効のコントロールにフォーカスを設定すると、呼び出しは無視されます。データ ソース コントロールなどの非表示コントロールにフォーカスを設定すると、例外がスローされます。

ms178232.alert_note(ja-jp,VS.90).gifメモ :

フォーカスを設定するには、ブラウザでクライアント スクリプトを有効にする必要があります。

ASP.NET Web サーバー コントロールにフォーカスを設定するには

  • コントロールの Focus メソッドを呼び出します。

    または

  • ページの SetFocus メソッドを呼び出し、フォーカスを設定するコントロールの ID を渡します。

    ID が TextBox1 のコントロールにフォーカスを設定するコード例を次に示します。

    ms178232.alert_security(ja-jp,VS.90).gifセキュリティに関するメモ :

    この例には、ユーザー入力を受け付けるテキスト ボックスがあるため、セキュリティ上の脅威になる可能性があります。既定では、ASP.NET Web ページは、ユーザー入力にスクリプトまたは HTML 要素が含まれていないことを検証します。詳細については、「スクリプトによる攻略の概要」を参照してください。

     [Visual Basic]
    Protected Sub Page_Load(ByVal sender As Object, _
        ByVal e As System.EventArgs)
        TextBox1.Focus()
    End Sub
    
    protected void Page_Load(object sender, EventArgs e)
    {
        TextBox1.Focus();
    }
    

フォームまたはパネルに既定のフォーカスを設定するには

  • ページの form 要素または Panel コントロールの DefaultFocus 属性を設定します。

    TextBox1 コントロールに既定のフォーカスが設定されたページのコード例を次に示します。

    <%@ Page Language="VB" %>
    <html>
    <head runat="server">
      <title>Test Page</title>
    </head>
    <body>
      <form id="form1" runat="server" defaultfocus="TextBox1" >
        <div>
          <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
          <br />
          <asp:Button ID="Button1" runat="server" Text="Button" />
          <br />
        </div>
      </form>
    </body>
    </html>
    
<%@ Page Language="C#" %>
<html>
<head runat="server">
  <title>Test Page</title>
</head>
<body>
  <form id="form1" runat="server" defaultfocus="TextBox1" >
    <div>
      <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
      <br />
      <asp:Button ID="Button1" runat="server" Text="Button" />
      <br />
    </div>
  </form>
</body>
</html>

参照

概念

ASP.NET Web サーバー コントロールのタブ オーダー、フォーカス、およびアクセス キー