Asp.net
在頁面載入時將焦點設置到 ASP.NET 登錄控制項中的文本框
我試圖將焦點設置在 ASP.NET 登錄控制項內的使用者名 TextBox 上。
我嘗試了幾種方法,但似乎都沒有。頁面正在載入,但未轉到控制項。
這是我嘗試過的程式碼。
SetFocus(this.loginForm.FindControl("UserName"));和
TextBox tbox = (TextBox)this.loginForm.FindControl("UserName"); if (tbox != null) { tbox.Focus(); } // if
您在頁面上使用 ScriptManager 嗎?如果是這樣,請嘗試以下操作:
public void SetInputFocus() { TextBox tbox = this.loginForm.FindControl("UserName") as TextBox; if (tbox != null) { ScriptManager.GetCurrent(this.Page).SetFocus(tbox); } }更新:以前從未使用過多視圖,但試試這個:
protected void MultiView1_ActiveViewChanged(object sender, EventArgs e) { SetInputFocus(); }
我正在使用 Page.Form.DefaultFocus 並且它有效:
// inside page_load, LoginUser is the Login control Page.Form.DefaultFocus = LoginUser.FindControl("Username").ClientID;