首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在页面加载时将焦点设置到ASP.NET登录控件中的textbox

在页面加载时将焦点设置到ASP.NET登录控件中的textbox
EN

Stack Overflow用户
提问于 2010-06-15 16:26:29
回答 10查看 58.7K关注 0票数 20

我正在尝试将焦点设置为ASP.NET Login控件中的用户名TextBox。

我尝试过几种方法,但似乎都不起作用。页面正在加载,但不会转到控件。

下面是我尝试过的代码。

代码语言:javascript
复制
SetFocus(this.loginForm.FindControl("UserName"));

代码语言:javascript
复制
TextBox tbox = (TextBox)this.loginForm.FindControl("UserName");
if (tbox != null)
{    
  tbox.Focus();
} // if
EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2010-06-15 16:35:52

您是否在页面上使用ScriptManager?如果是这样,请尝试执行以下操作:

代码语言:javascript
复制
public void SetInputFocus()
{
    TextBox tbox = this.loginForm.FindControl("UserName") as TextBox;
    if (tbox != null)
    {
       ScriptManager.GetCurrent(this.Page).SetFocus(tbox);
    }
}

更新:以前从未使用过多视图,但尝试一下:

代码语言:javascript
复制
protected void MultiView1_ActiveViewChanged(object sender, EventArgs e)
{
   SetInputFocus();
}
票数 12
EN

Stack Overflow用户

发布于 2011-09-18 10:06:15

我使用的是Page.Form.DefaultFocus,它工作正常:

代码语言:javascript
复制
// inside page_load, LoginUser is the Login control
Page.Form.DefaultFocus = LoginUser.FindControl("Username").ClientID;
票数 31
EN

Stack Overflow用户

发布于 2011-01-28 09:04:33

代码语言:javascript
复制
protected void Page_Load(object sender, EventArgs e)
{
    SetFocus(LoginCntl.FindControl("UserName"));
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3043592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档