Gewusst wie: Festlegen des Fokus auf ein ASP.NET-Webserversteuerelement

Aktualisiert: November 2007

Falls es für die Anwendung wichtig ist, können Sie den Fokus mithilfe von Servercode auf ein bestimmtes ASP.NET-Webserversteuerelement festlegen. Sie können den Fokus dynamisch auf ein bestimmtes Steuerelement festlegen oder ein Steuerelement angeben, das den Fokus standardmäßig erhalten soll. Sie können den Standardfokus für das gesamte Formular oder für ein Steuerelement festlegen, das einem Panel-Steuerelement untergeordnet ist.

Sie können den Fokus auf folgende Steuerelementtypen festlegen:

Sie können den Fokus auch auf Steuerelemente festlegen, die eines oder mehrere der oben aufgelisteten Steuerelemente enthalten. Zum Beispiel können Sie den Fokus auf ein Login-Steuerelement festlegen. In diesem Fall wird der Fokus auf das erste geeignete Steuerelement innerhalb des Login-Steuerelements festgelegt.

Wenn Sie den Fokus auf ein Steuerelement festlegen, das nicht geeignet, ausgeblendet oder deaktiviert ist, wird der Aufruf grundsätzlich ignoriert. Wenn Sie versuchen, den Fokus auf ein nicht visuelles Steuerelement (z. B. ein Datenquellensteuerelement) festzulegen, wird eine Ausnahme ausgelöst.

Hinweis:

Das Festlegen des Fokus setzt voraus, dass Clientskripts im Browser aktiviert sind.

So legen Sie den Fokus auf ein ASP.NET-Webserversteuerelement fest

  • Rufen Sie die Focus-Methode des Steuerelements auf.

    - oder -

  • Rufen Sie die SetFocus-Methode der Seite auf, und übergeben Sie ihr die ID des Steuerelements, auf das Sie den Fokus festlegen möchten.

    Im folgenden Codebeispiel wird gezeigt, wie der Fokus auf das Steuerelement mit der ID TextBox1 festgelegt wird:

    Sicherheitshinweis:

    In diesem Beispiel ist ein Textfeld für eine Benutzereingabe enthalten. Dies stellt ein potenzielles Sicherheitsrisiko dar. Standardmäßig stellt die ASP.NET-Seite sicher, dass die Benutzereingabe keine Skript- oder HTML-Elemente enthält. Weitere Informationen finden Sie unter Übersicht über Skriptangriffe.

     [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();
    }
    

So legen Sie den Standardfokus in einem Formular oder Bereich fest

  • Legen Sie das DefaultFocus-Attribut des form-Elements in der Seite bzw. eines Panel-Steuerelements fest.

    Im folgenden Codebeispiel wird eine Seite gezeigt, in der der Standardfokus auf das Steuerelement TextBox1 festgelegt ist:

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

Siehe auch

Konzepte

Aktivierreihenfolge, Fokus und Zugriffstasten in ASP.NET-Webserver-Steuerelementen