C# 是否在ASP.NET动态生成的控件中的文本框上设置TabIndex?
我有一个复合控件,每个控件包含一个文本框(C# 是否在ASP.NET动态生成的控件中的文本框上设置TabIndex?,c#,asp.net,tabindex,composite-controls,C#,Asp.net,Tabindex,Composite Controls,我有一个复合控件,每个控件包含一个文本框(TextBoxA)和三个按钮(ButtonA,ButtonB,和ButtonC)。My page根据页面的状态动态生成n个这些CompositeControls 我已将TextBoxA的TabIndex设置为正值,在该控件的OnPreRender方法中,每个控件的值都会增加1: TextBoxA.TabIndex = customControlPosition; ButtonA.TabIndex = -1; ButtonB.TabIndex = -1;
TextBoxA
)和三个按钮(ButtonA
,ButtonB
,和ButtonC
)。My page根据页面的状态动态生成n个这些CompositeControls
我已将TextBoxA
的TabIndex设置为正值,在该控件的OnPreRender方法中,每个控件的值都会增加1:
TextBoxA.TabIndex = customControlPosition;
ButtonA.TabIndex = -1;
ButtonB.TabIndex = -1;
ButtonC.TabIndex = -1;
我已经通过调试验证了customControlPosition
是否正确地为TabIndex属性指定了正的增量值(1、2、3、4等)
当前的行为是,每次按下选项卡
键都会移动光标,以高亮显示CompositeControl中的每个按钮(TabIndex为-1,不应使用Tab键),然后继续将光标放入下一个CompositeControl的文本框中。
我想做的是让选项卡
键直接将焦点从一个文本框移动到下一个CompositeControl中的文本框
是否有我遗漏的东西可以让我这样做?尝试为您的按钮提供32767的
TabIndex
(最大值)。数字越大,控件的制表顺序越晚
我可以想象32767比你添加到一个页面上的控件数量要高得多
见此:
尝试为按钮指定32767的
TabIndex
(最大值)。数字越大,控件的制表顺序越晚
我可以想象32767比你添加到一个页面上的控件数量要高得多
见此:
我发现了这个问题
我使用的TextBox是一个自定义类,它是asp:TextBox的包装器,自定义类没有正确地将TabIndex值分配给asp:TextBox。我发现了问题
我使用的TextBox是一个自定义类,它是asp:TextBox的包装器,自定义类没有正确地将TabIndex值分配给asp:TextBox。我尝试为每个文本框分配32767的TabIndex,还尝试了
的唯一值(32700+customControlPosition)
但具有相同的行为。Tab键移动到每个控件内的按钮,而不是下一个控件的文本框。HTML输出没有显示tabindex值,这导致我出现错误。非常感谢。我尝试为每个文本框分配32767的TabIndex,还尝试了(32700+customControlPosition)
的唯一值,但具有相同的行为。Tab键移动到每个控件内的按钮,而不是下一个控件的文本框。HTML输出没有显示tabindex值,这导致我出现错误。非常感谢。