Фокус набора к текстовому полю в Управлении входом в систему ASP.NET на загрузке страницы

Я пытаюсь установить фокус на имя пользователя TextBox, который является в Управлении входом в систему ASP.NET.

Я попытался сделать это несколько путей, но ни один, кажется, не работает. Страница загружается, но не идет в управление.

Вот код, который я попробовал.

SetFocus(this.loginForm.FindControl("UserName"));

И

TextBox tbox = (TextBox)this.loginForm.FindControl("UserName");
if (tbox != null)
{    
  tbox.Focus();
} // if
18
задан anD666 15 June 2010 в 08:26
поделиться

2 ответа

Используете ли вы 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();
}
11
ответ дан 30 November 2019 в 07:03
поделиться

Вы можете попробовать сделать следующее:

-Зарегистрировать два сценария (один для создания функции для фокусировки на текстовом поле при отображении страницы, второй для регистрации идентификатора текстового поля)

this.Page.ClientScript.RegisterStartupScript(this.GetType(), "on_load", 
                "<script>function window_onload() \n { \n if (typeof(idLoginTextBox) == \"undefined\" || idLoginTextBox == null) \n return; \n idLoginTextBox.focus();\n } \n window.onload = window_onload; </script>");

this.Page.ClientScript.RegisterStartupScript(this.GetType(), "Focus", String.Format("<script>var idLoginTextBox=document.getElementById(\"{0}\").focus();</script>", this.loginForm.ClientID));             

В результате вы должны получите в своем коде следующее:

      <script>
          function window_onload()
          {
            if (typeof(idLoginTextBox) == "undefined" || idLoginTextBox == null)
                return;     
            idLoginTextBox.focus();
        }
        window.onload = window_onload;     
      </script>   



<script>
        var idLoginTextBox=document.getElementById("ctl00_LoginTextBox").focus();
  </script>
0
ответ дан 30 November 2019 в 07:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: