使用 c# 在 asp.net 网页的最后一个字符处将焦点设置在文本框中

Set focus in texbox at last char in an asp.net web page using c#

我在 asp.net 网页中有一个文本框。在回发的情况下,我需要将焦点设置在此文本框中的最后一个字符上。我如何在不使用 jQueries 之类的情况下使用 c# 执行此操作。 谢谢

您的代码如下:

asp:TextBox ID="TextBox1" runat="server" AutoPostBack="True" ontextchanged="TextBox1_TextChanged" TabIndex="1">
asp:TextBox ID="TextBox2" runat="server" AutoPostBack="True" ontextchanged="TextBox2_TextChanged" TabIndex="2">
   protected void TextBox1_TextChanged(object sender, EventArgs e)
   {
       Session["event_controle"] = ((TextBox)sender);
   }

   protected void TextBox2_TextChanged(object sender, EventArgs e)
   {
       Session["event_controle"] = ((TextBox)sender);
   }

   protected void Page_PreRender(object sender, EventArgs e)
   {
       try
       {
           if (Session["event_controle"] != null)
           {
               TextBox controle =(TextBox) Session["event_controle"];
               controle.Focus();
           }
       }
       catch ()
       {
       }
   }

这是 Use JavaScript to place cursor at end of text in text input element 中提出的解决方案的变体:

void btnPostBack_Click(object sender, EventArgs e)
{
    txtFocus.Attributes["onfocus"] = "var value = this.value; this.value = ''; this.value = value; onfocus = null;";
    txtFocus.Focus();
}