Compartilhar via


Como: conjunto o foco em controles de servidor Web do ASP.NET

Se for importante em seu aplicativo, você pode colocar o foco em um controle de servidor da Web ASP.NET específico usando código de servidor.Você pode colocar o foco em um controle específico dinamicamente, ou você pode especificar um controle que deve receber o foco por padrão.Você pode definir o foco padrão para o formulário como um todo, ou você pode definir o foco padrão em um controle que seja um filho de um controle Panel.

Você pode colocar o foco nos seguintes tipos de controles:

Você também pode definir o foco em controles que contêm um ou mais dos controles listados acima.Por exemplo, você pode definir o foco em um controle Login.Nesse caso, o foco será colocado no primeiro controle qualificado dentro do controle Login.

Em geral, se você colocar o foco em um controle que não pode receber o foco ou está oculto ou desativada, a chamada será ignorada.Se você tentar para colocar o foco em um controle não visual, como um controle de fonte de dados, uma exceção é lançada.

Observação:

Colocar o foco exige que o script de cliente esteja ativado no navegador.

Para colocar foco em um controle de servidor da Web ASP.NET

  • Chame o método Focus do controle.

    - ou -

  • Chame o método SetFocus da página, passando para ele a identificação do controle no qual você deseja definir o foco.

    O exemplo de código a seguir mostra como definir o foco no controle com a identificação TextBox1:

    Observação de segurança:

    Este exemplo tem uma caixa de texto que aceita entrada do usuário, que é uma ameaça potencial de segurança.Por padrão, páginas Web ASP.NET validam se as entradas de usuário não incluem scripts ou elementos HTML.Para obter mais informações, consulte Visão Geral de Scripts Maliciosos.

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

Para definir o foco padrão para um formulário ou painel

  • Defina o atributo DefaultFocus do elemento form na página ou de um controle Panel.

    O exemplo de código a seguir mostra uma página com o foco padrão definido para o controle 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>

Consulte também

Conceitos

Ordem das Guias, Foco e Teclas de Acesso em ASP.NET Web Server Controls