自动聚焦于表单文本字段.Focus()Me.show()

时间:2019-02-25 11:49:36

标签: asp.net webforms

当我为vb.net Web应用加载登录页面时,我希望浏览器自动关注用户名文本框-我在this上遇到了答案,并尝试通过添加呼叫来尝试接受的答案到我的login.aspx.vb文件的Me.Show()函数中的UserName.Focus()Page_Load()

Protected Sub Page_Load(...) Handles Me.Load
    ...
    Me.Show()
    UserName.Focus()

End Sub

执行此操作时,Me.Show()抛出编译错误,指出该错误

  

“显示”不是“登录”的成员

如果我注释该行并运行应用程序,则会加载页面,但是焦点不会自动设置在登录表单的“用户名”框中。

如何使应用程序自动关注此文本字段?

修改

我尝试在JS中通过将以下内容添加到我的login.aspx文件中来做到这一点:

$(document).ready(function () {
    $('#UserName').focus()

但是,再次加载页面时,焦点不在UserName文本框中(似乎没有对页面内容的任何关注)。

从下面的屏幕快照中可以看到,UserName是我试图将焦点设置为的文本框元素的ID:

login

1 个答案:

答案 0 :(得分:0)

抱歉,我没有评论,因为我没有足够的声誉,但是如果我理解正确,则可以在JavasCript部分中做到这一点:

document.getElementById('<%= UserName.ClientID%>').focus(); 

或者您可以在form_load事件中尝试Form.DefaultFocus = "UserName";