0

我有一个数据输入网络表单,有一些文本框会导致对 textchanged 事件的回发。我将焦点设置为在代码隐藏之后使用所需的文本框... TextBox2.Focus()但这只适用于 Visual Studio 2010 而不是 2005。它确实不给出任何错误或任何东西,但焦点进入 textBox2 几分之一秒然后消失(可能是由于回发)。注意:我必须只从代码后面设置焦点!如果需要,我已经准备好使用 JavaScript,但它必须从后面的代码运行。

4

3 回答 3

0

尝试:

ClientScript.RegisterStartupScript(typeof(this), "Focus",
String.Format("document.GetElementById('{0}').focus;", txt.ClientID), true);

它注册一个javascript并聚焦它。

于 2013-10-24T08:28:47.093 回答
0
       ClientScript.RegisterStartupScript(this.GetType(), "focus", "document.getElementById('" + txtYourControlName.ClientID + "').focus();", true);
于 2014-03-11T06:24:51.877 回答
0

尝试使用以下 VB.NET 代码将 javascript 添加到加载的页面之后Postback

ClientScript.RegisterStartupScript(Me.GetType(), "Set TB Focus", "document.getElementById('" & TextBox2.ClientID & "').focus();", True)

这会将脚本写入回发页面,然后执行(因为它不在函数中)并设置文本框的焦点。

还有 C# 代码:

ClientScript.RegisterStartupScript(this.GetType(), "Set Tb Focus", "document.getElementById('" & TextBox2.ClientID & "').focus();", true);
于 2013-10-24T07:55:03.030 回答