如何设置Login控件的Username文本框以获得初始焦点?

时间:2011-10-17 09:39:40

标签: c# asp.net login focus

我正在使用asp.net登录控件:

 <asp:Login ID="Login2" runat="server" LoginButtonType="Link"
                Width="280px" Height="150">               
            </asp:Login>

如何将用户名文本框设置为在最初加载页面时具有焦点,并且在用户输入时也应单击“登录”链接按钮。

我在Page_Load事件中尝试过以下但是没有用?

  this.Login2.FindControl("Username").Focus();
  this.form1.DefaultButton = this.Login2.FindControl("LoginButton").UniqueID;

谢谢,

4 个答案:

答案 0 :(得分:3)

尝试这样的事情:

TextBox tb = (TextBox)Login1.FindControl("UserName");
tb.Focus();

答案 1 :(得分:1)

if (!HttpContext.Current.User.Identity.IsAuthenticated) {
   Login lg = (WebControls.Login)LoginView1.FindControl("Login2");
   TextBox tb = (TextBox)lg.FindControl("UserName");
   tb.Focus();
}

在这里查看如何在Login:

中将登录按钮定义为默认按钮

答案 2 :(得分:1)

protected void Page_Load(object sender, System.EventArgs e)
{
    System.Web.UI.WebControls.Login login = LoginArea.FindControl("LoginForm");

    TextBox txt = login.FindControl("UserName");

    Page.SetFocus(txt);

}

答案 3 :(得分:0)

你可以简单地写  Login1.Focus()在页面加载事件中,基本上,您不仅可以在表单级别定义DefaultButton,还可以在单​​个Panel级别定义DefaultButton,只要焦点在面板内,面板的默认按钮将是如果你按“Enter

”就会使用