在页面中使用AjaxControlToolkit TabContainer时,Textbox焦点无效

时间:2017-02-28 07:01:47

标签: asp.net vb.net load focus ajaxcontroltoolkit

我有一个带有文本框的asp网页,我希望以这种方式在代码后面的加载事件上设置焦点:

Protected Shadows Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
      Page.SetFocus(Me.txtPassword)
      'txtPassword.Focus()

End Sub

除非我向我的页面添加tabcontainer,否则这两种方法都有效。以下是我的网页:

我在头文件中以这种方式注册AjaxControlToolkit:

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>

然后在我的页面中,我有文本框和标签容器:

<table style="width: 100%" id="tblnssf" cellspacing="0" cellpadding="0" runat="server">
   <tr>
       <td style="width: 97px; height: 40px">
           <asp:TextBox ID="txtPassword" TabIndex="1" runat="server" Width="85px" TextMode="Password"></asp:TextBox>
       </td>
   </tr>
</table>

<cc1:TabContainer  ID="TabContainer1" runat="server"  Width="100%">
   <cc1:TabPanel ID="TabPanel1" runat="server" HeaderText="Header 1">
      <HeaderTemplate>  Header 1 </HeaderTemplate>
      <ContentTemplate> test 1 </ContentTemplate>
   </cc1:TabPanel>

   <cc1:TabPanel ID="TabPanel2" runat="server" HeaderText="Header 2">
      <HeaderTemplate>Header 2</HeaderTemplate>
      <ContentTemplate>test 2</ContentTemplate>
   </cc1:TabPanel>
</cc1:TabContainer>

当我删除标签容器时,两种焦点方法都能正常工作......如果我从服务器端添加一个按钮并处理其单击事件,即使存在标签容器,焦点也会正常工作...似乎这个问题只在从后面的代码(服务器端)处理的load事件上被触发 这真的很奇怪,我不知道如何解决它。我真的需要从服务器端而不是从客户端设置焦点onload事件,因为我添加了一些条件......任何帮助?

0 个答案:

没有答案