HOW TO:在 ASP.NET Web 伺服器控制項上設定焦點
更新:2007 年 11 月
如果這對應用程式很重要的話,您可以使用伺服端程式碼,將焦點放在特定的 ASP.NET Web 伺服器控制項上。您可以動態地將焦點放在特定的控制項上,或是可以指定預設取得焦點的控制項。您可以設定整個表單的預設焦點,或是將預設焦點設定在 Panel 控制項的子控制項上。
您可以將焦點放在下列控制項型別上:
Button、LinkButton 和 ImageButton 控制項。
CheckBox 控制項
DropDownList 控制項
FileUpload 控制項
HyperLink 控制項
ListBox 控制項
RadioButton 控制項
TextBox 控制項
您也可以將焦點設定在包含上述一或多個控制項的控制項上。例如,您可以將焦點設定在 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>