Condividi tramite


Procedura: impostare lo stato attivo sui controlli server Web ASP.NET

Aggiornamento: novembre 2007

Se è rilevante per l'applicazione, è possibile impostare lo stato attivo su un controllo server Web ASP.NET specifico utilizzando codice lato server. È possibile impostare lo stato attivo su un controllo specifico in modo dinamico oppure è possibile specificare un controllo che ottenga lo stato attivo per impostazione predefinita. È possibile impostare lo stato attivo predefinito per l'intero form, oppure impostarlo su un controllo figlio di un controllo Panel.

È possibile impostare lo stato attivo sui seguenti tipi di controlli:

È anche possibile impostare lo stato attivo sui controlli che contengono uno o più dei controlli sopra riportati. Ad esempio, è possibile impostare lo stato attivo su un controllo Login. In questo caso, lo stato attivo verrà impostato sul primo controllo idoneo all'interno del controllo Login.

In genere, se viene impostato lo stato attivo su un controllo che non può riceverlo, oppure è nascosto o disattivato, la chiamata verrà ignorata. Se si tenta di impostare lo stato attivo su un controllo non visivo, come, ad esempio, un controllo origine dati, viene generata un'eccezione.

Nota:

Per impostare lo stato attivo è necessario che nel browser sia attivato lo script client.

Per impostare lo stato attivo su un controllo server Web ASP.NET

  • Chiamare il metodo Focus del controllo.

    -oppure-

  • Chiamare il metodo SetFocus della pagina, passando l'ID del controllo su cui si desidera impostare lo stato attivo.

    Nell'esempio di codice riportato di seguito vengono illustrate le modalità di impostazione dello stato attivo sul controllo con l'ID TextBox1:

    Nota sulla sicurezza:

    L'esempio include una casella di testo che accetta l'input dell'utente e rappresenta quindi una potenziale minaccia alla sicurezza. Per impostazione predefinita, le pagine Web ASP.NET verificano che l'input dell'utente non includa script o elementi HTML. Per ulteriori informazioni, vedere Cenni preliminari sugli attacchi tramite script.

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

Per impostare lo stato attivo predefinito in un form o pannello

  • Impostare l'attributo DefaultFocus dell'elemento form nella pagina o di un controllo Panel.

    Nell'esempio di codice riportato di seguito viene illustrata una pagina con lo stato attivo predefinito impostato sul controllo 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>

Vedere anche

Concetti

Ordine di tabulazione, stato attivo e tasti di scelta nei controlli server Web ASP.NET