我有一个带有文本框的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事件,因为我添加了一些条件......任何帮助?