我在标签容器中有自定义登录屏幕
<asp:TabContainer ID="TabContainer1" runat="server" ActiveTabIndex="0" AutoPostBack="true" OnActiveTabChanged="TabContainer1_ActiveTabChanged" CssClass="MyTabStyle">
<asp:TabPanel ID="uxStandardTab" runat="server" HeaderText="Login">
<ContentTemplate>
<table width="320px" border="0" style="border-width: 0px;">
<tr>
<td>
<cc1:LabeledTextBox ID="Username" runat="server" Required="true" LabelText="Email/User Name" LabelWidth="120" ControlWidth="150" LabelCss="FormLabelText BoldText" ValidationGroup="Standard"></cc1:LabeledTextBox>
<cc1:LabeledTextBox ID="Password" runat="server" TextMode="Password" Required="true" LabelText="Password" LabelWidth="120" ControlWidth="150" LabelCss="FormLabelText BoldText" ValidationGroup="Standard"></cc1:LabeledTextBox>
</td>
</tr>
<tr>
<td>
<div style="margin-top: 5px; margin-right: 20px; text-align: center;">
<asp:Button ID="btnLogin" runat="server" Text="Log In" CssClass="grnbutton" OnClick="btnLogin_Click" ValidationGroup="Standard" />
</div>
</td>
</tr>
</table>
</ContentTemplate>
</asp:TabPanel>
</asp:TabContainer>
我试图将焦点设置在页面加载中的用户名字段中。
我试过了
var txtUserName = uxStandardTab.FindControl("UserName");
if (txtUserName != null)
{
Page.SetFocus(txtUserName);
}
和
Username.Focus();
但是,在页面加载期间,它们都没有将光标放在用户名文本框中。如果Tab Control的行为不同,请告知。
答案 0 :(得分:1)
使用Ajax时不要使用Page.SetFocus
,而应使用Scriptmanager.SetFocus
:
ScriptManager.GetCurrent(Page).SetFocus(txtUserName);