如何在涉及回发时从代码隐藏将焦点设置为文本框
本文关键字:焦点 隐藏 设置 文本 代码 | 更新日期: 2023-09-27 18:36:36
我有一个数据输入网络表单,有几个文本框会导致文本更改事件回发..之后,我正在使用代码隐藏将焦点设置为所需的文本框... TextBox2.Focus()
但这仅适用于Visual Studio 2010,而不适用于2005。它不会给出任何错误或任何东西,但焦点进入 textBox2 几分之一秒,然后消失(可能是由于回发)。注意:我必须仅从代码后面设置焦点!如果需要,我已经准备好使用 JavaScript,但它必须从代码隐藏运行。
尝试以下 VB.NET 代码,在Postback
后将javascript添加到加载的页面:
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);
尝试:
ClientScript.RegisterStartupScript(typeof(this), "Focus",
String.Format("document.GetElementById('{0}').focus;", txt.ClientID), true);
它注册一个javascript并聚焦它。
ClientScript.RegisterStartupScript(this.GetType(), "focus", "document.getElementById('" + txtYourControlName.ClientID + "').focus();", true);