Cómo: Establecer el foco en los controles de servidor Web ASP.NET

Actualización: noviembre 2007

Si es importante en la aplicación, puede establecer el foco en un control de servidor Web ASP.NET específico mediante código del servidor. Puede establecer el foco en un control específico dinámicamente o especificar un control que obtenga el foco de forma predeterminada. Puede establecer el foco predeterminado para todo el formulario o establecerlo en un control secundario de un control Panel.

Puede establecer el foco en los tipos de controles siguientes:

También puede establecer el foco en controles que contengan uno o varios de los controles anteriores. Por ejemplo, puede establecer el foco en un control Login. En ese caso, el foco se establecerá en el primer control pertinente dentro del control Login.

En general, si establece el foco en un control que no puede recibirlo o está oculto o deshabilitado, se omitirá la llamada. Si intenta establecer el foco en un control no visual, como un control de origen de datos, se iniciará una excepción.

Nota:

Para establecer el foco es necesario que estén habilitadas las secuencias de comandos de cliente en el explorador.

Para establecer el foco en un control de servidor Web ASP.NET

  • Llame al método Focus del control.

    O bien

  • Llame al método SetFocus de la página y pásele el identificador del control en el que desea establecer el foco.

    En el ejemplo de código siguiente se muestra cómo establecer el foco en el control cuyo identificador es TextBox1:

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

Para establecer el foco predeterminado en un formulario o un panel

  • Establezca el atributo DefaultFocus del elemento form de la página o de un control Panel.

    En el ejemplo de código siguiente se muestra una página con el foco predeterminado establecido en el control TextBox1:

    <%@ 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>

Vea también

Conceptos

Orden de tabulación, foco y claves de acceso en los controles de servidor Web de ASP.NET