Поделиться через


Практическое руководство. Установка фокуса на серверных веб-элементах управления ASP.NET

Обновлен: Ноябрь 2007

Можно поместить фокус на специфический ASP.NET серверный веб-элемент управления с помощью серверного кода, если это важно для данного приложения. Можно поместить фокус на специфический элемент управления динамически или указать элемент управления, на который по умолчанию будет устанавливаться фокус.Можно установить фокус по умолчанию для всей формы или задать фокус по умолчанию на элемент управления, который является дочерним для элемента управления Panel.

Можно поместить фокус на следующие типы элементов управления:

Также можно установить фокус на элементы управления, которые содержат один или несколько элементов управления, перечисленных выше. Например, можно установить фокус на элемент управления Login. В данном случае фокус будет помещен на первый подходящий элемент управления в элементе управления Login.

В целом, если установить фокус на элемент управления, который является скрытым или отключенным, или для которого этот фокус не может быть получен, то вызов будет проигнорирован. При попытке установить фокус на элемент управления, не имеющий визуального представления, возникает исключение.

ms178232.alert_note(ru-ru,VS.90).gifПримечание.

Для установки фокуса необходимо, чтобы в веб-обозревателе была включена поддержка клиентских сценариев.

Установка фокуса на ASP.NET серверном веб-элементе управления

  • Вызовите метод Focus элемента управления.

    -или-

  • Вызовите метод страницы SetFocus, передав в этот метод идентификатор элемента управления, на который необходимо установить фокус.

    В следующем примере показано, как установить фокус на элемент управления с идентификатором TextBox1:

    ms178232.alert_security(ru-ru,VS.90).gifПримечание о безопасности.

    Данный пример содержит текстовое поле, принимающее пользовательский ввод данных, что является потенциальной угрозой безопасности. По умолчанию на веб-страницах ASP.NET введенные пользователем данные проверяются на отсутствие сценариев и 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();
    }
    

Установка фокуса по умолчанию в форме панели

  • Установите атрибут DefaultFocus элемента form на странице или в элементе управления Panel.

    В следующем примере кода показана страница с фокусом, который по умолчанию установлен на элемент управления 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