我正在尝试将焦点设置为ASP.NET Login控件中的用户名TextBox。
我尝试过几种方法,但似乎都不起作用。页面正在加载,但不会转到控件。
下面是我尝试过的代码。
SetFocus(this.loginForm.FindControl("UserName"));
和
TextBox tbox = (TextBox)this.loginForm.FindControl("UserName");
if (tbox != null)
{
tbox.Focus();
} // if
发布于 2010-06-15 16:35:52
您是否在页面上使用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();
}
发布于 2011-09-18 10:06:15
我使用的是Page.Form.DefaultFocus,它工作正常:
// inside page_load, LoginUser is the Login control
Page.Form.DefaultFocus = LoginUser.FindControl("Username").ClientID;
发布于 2011-01-28 09:04:33
protected void Page_Load(object sender, EventArgs e)
{
SetFocus(LoginCntl.FindControl("UserName"));
}
https://stackoverflow.com/questions/3043592
复制相似问题