专注于TabContainer中的TextBox

时间:2015-12-03 15:41:47

标签: asp.net tabs ajaxcontroltoolkit

我在标签容器中有自定义登录屏幕

     <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的行为不同,请告知。

1 个答案:

答案 0 :(得分:1)

使用Ajax时不要使用Page.SetFocus,而应使用Scriptmanager.SetFocus

ScriptManager.GetCurrent(Page).SetFocus(txtUserName);