Следующее работало, когда элемент управления не был добавлен через асинхронную обратную передачу.
В элементе управления aspx / ascx.
<asp:PlaceHolder runat="server" ID="placeHolder1"></asp:PlaceHolder>
В коде позади.
TextBox test = new TextBox();
test.ID = "test";
test.TabIndex = 21;
test.Text = "test";
placeHolder1.Controls.Add(test);
string script = "document.getElementById('" + test.ClientID + "').focus();";
ScriptManager.RegisterStartupScript(this, typeof(TextBox), UniqueID, script, true);
Похоже, что асинхронная обратная передача устанавливает фокус на странице. Нажатие на вкладку делает акцент на текстовом поле.