asp.net - 在页面加载时将焦点设置为ASP.NET登录控件中的文本框

标签 asp.net login pageload setfocus

我正在尝试将焦点设置为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);
    }
}

更新:以前从未使用过多 View ,但是请尝试以下操作:
protected void MultiView1_ActiveViewChanged(object sender, EventArgs e)
{
   SetInputFocus();
}

关于asp.net - 在页面加载时将焦点设置为ASP.NET登录控件中的文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3043592/

相关文章:

asp.net - 将脚本管理器引入动态呈现的页面

authentication - 持久性 "Remember Me"Cookie 的竞争条件

python - 无法访问 HTML 表单上的文本框

c# - Page_Load 在 Firefox 中调用,但在 IE 中不调用

asp.net - JSON 字符串中的反斜杠

asp.net - 为什么事件冒泡,为什么不直接订阅点击事件?

asp.net - 您使用的是什么版本的 MS Anti-XSS?

drupal - 是否有 drupal 6 hook 来处理登录身份验证而不从登录表单发布?

javascript - 除非启用 JavaScript,否则我可以在网页上静态加载数据吗?

javascript - 我无法在页面加载时加载放大的弹出窗口