我有一个使用Tabcontainer控件的Web应用程序。
我在TabPanel中定义了一个HeaderTemplate,并在其上放了一个ImageButton控件,以便我可以在选项卡上有一个“关闭面板”X图像。
我手动控制代码的标签可见性
从这个图像OnClick事件 - 我执行一些清理并手动关闭选项卡的代码。
以下是显示代码:
<asp:TabPanel ID="TabREVRES" runat="server" HeaderText="" Visible="false" DefaultButton="T2ResSearch">
<HeaderTemplate>
<asp:Label ID="ResHdrLbl1" runat="server" Text="Open Resource Review" Font-Size="Smaller"></asp:Label>
<asp:ImageButton runat="server" ID="ResHdrClose" ImageUrl="../Images/XinBox.jpg" ToolTip="Close Review Tab" OnClick="ResTabClose_Click"
Height="15" ImageAlign="TextTop" Width="15" />
</HeaderTemplate>
我在此TabPanel中的页面上有一个文本框和搜索按钮。我希望Enter键默认为“搜索”按钮。但是,Enter键默认为TabPanel ImageButton控件的Onclick事件 - 从而执行代码隐藏逻辑以关闭选项卡。
正如您从代码示例中看到的那样 - 我尝试将DefaultButton =添加到TabPanel,但这不起作用。任何有关这方面的帮助将不胜感激。
答案 0 :(得分:0)
不确定这是最干净的方法 - 但我用以下代码解决了这个问题,以防它对任何人有所帮助:
在我没有按钮控件的标签中 - 我停止使用此javascript关闭标签的Enter键:
function stopRKey(evt) {
var evt = (evt) ? evt : ((event) ? event : null);
var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
if ((evt.keyCode == 13) && (node.type == "text")) { return false; }
}
document.onkeypress = stopRKey;
对于带按钮控件的标签 - 我将其中一个设为默认值,如下所示:
this.Form.DefaultButton = this.mydefaultbuttonID.UniqueID;