我阅读了几个主题,这些主题讨论了 IE 中的地址栏基本上是第一个在使用 TAB 时获得焦点的主题(MSDN 自己的文档对此进行了讨论)。
然而,我看到情况并非总是如此......
我有一个母版页,在我的内容区域内是一个 formView。
它默认为 INSERT 视图并且永远不能离开它(他们只能插入而不是编辑,阅读在其他地方处理)
因此,在我的页面加载时,我拥有:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If fvwLogEntry.CurrentMode = FormViewMode.Insert = True Then
'Set the default field to position the cursor there...hopefully
Dim FCtxtHrEmployeeId As TextBox
FCtxtHrEmployeeId = CType(fvwLogEntry.FindControl("txtHrEmployeeId"), TextBox)
Page.SetFocus(FCtxtHrEmployeeId.ClientID.ToString)
End If
现在可以了,当页面加载时,它会将光标设置到 formview 的 INSERT 模板内的employeeID 文本框。
但是,当我点击 TAB 时,它会将我带到地址栏,然后如果我再次点击标签,它将带我浏览页面上的其余项目。
我将第一项的选项卡索引设置为 11,然后从那里增加(我读过 IE 的工具栏也有选项卡索引,所以我认为也许使用更高的数字会绕过这些,但同样这并不真正有意义,因为它仍然会从最低的数字开始,但我试了一下,认为它会从焦点所在的位置向前移动。)如果我单击文本框,然后按 TAB,它确实会像我预期的那样在页面中移动。
只是当页面加载并将焦点设置到employeeID 文本框时,点击选项卡会将其移动到地址栏。
我还尝试将其他控件设置为 -1(我不希望它使用标签的那些),但那里仍然没有运气。
那么......我该怎么做才能解决这个问题?
必须有一种简单的方法将焦点设置到employeeID 文本框,并确保在此之后按TAB 键移动到formview 的插入模板中的下一个控件并且不会跳到地址栏?