共用方式為


HOW TO:在 ASP.NET Web 伺服器控制項上設定焦點

更新:2007 年 11 月

如果這對應用程式很重要的話,您可以使用伺服端程式碼,將焦點放在特定的 ASP.NET Web 伺服器控制項上。您可以動態地將焦點放在特定的控制項上,或是可以指定預設取得焦點的控制項。您可以設定整個表單的預設焦點,或是將預設焦點設定在 Panel 控制項的子控制項上。

您可以將焦點放在下列控制項型別上:

您也可以將焦點設定在包含上述一或多個控制項的控制項上。例如,您可以將焦點設定在 Login 控制項上。在這種情況下,焦點會放在 Login 控制項中的第一個合格控制項上。

一般而言,如果您將焦點設定在無法接收焦點、隱藏或是停用的控制項上,就會忽略呼叫。如果您嘗試將焦點設定在隱藏式的控制項上,例如資料來源控制項,就會擲回例外狀況。

注意事項:

設定焦點需要瀏覽器中啟用用戶端指令碼。

若要將焦點設定在 ASP.NET Web 伺服器控制項上

  • 呼叫控制項的 Focus 方法。

    -或-

  • 呼叫網頁的 SetFocus 方法,將想要設定焦點的控制項 ID 傳遞給它。

    下列程式碼範例中,示範了如何使用 ID TextBox1 將焦點設定在控制項上:

    安全性注意事項:

    這個範例有一個可接受使用者輸入的文字方塊,這可能會造成安全性威脅。ASP.NET Web 網頁預設會驗證使用者輸入,但不包含當中的指令碼或 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();
    }
    

若要在表單或面板中設定預設焦點

  • 設定網頁或 Panel 控制項中 form 項目的 DefaultFocus 屬性。

    下列程式碼範例中,示範了將預設焦點設定在控制項 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>

請參閱

概念

ASP.NET Web 伺服器控制項中的定位順序、焦點和便捷鍵