繁体   English   中英

在多个回发事件后将焦点设置到文本框时出现问题

[英]issue while setting focus to text box after multiple post back events

在我的页面上有一个更新面板,并且在同一更新面板中有一个文本框和一个按钮。 在我设置输入密钥作为更新面板的默认按钮后。 经过多次回发后,实际上将第三次回发焦点设置为浏览器的“后退”按钮。 如我想将焦点设置在文本框中。 我试图通过使用下面在按钮事件的最后一行编写的选项将焦点设置到第一个文本框。

1. option => Page.SetFocus(txtOrdertoAdd.ClientID);
2. option => txtOrdertoAdd.Focus();
3. option => Page.ClientScript.RegisterStartupScript(this.GetType(), "Script", "SetFocus(" + txtOrdertoAdd.ClientID + ");</script>");
4. option => ScriptManager.RegisterStartupScript(this, this.GetType(), "selectAndFocus", "$get('" + txtOrdertoAdd.ClientID + "').focus();", true);

我专门在IE中遇到此有线问题,在Firefox和chrome中可以正常工作。任何人都可以解决此问题。

<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
    <div>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>
                 <asp:Panel runat="server" ID="Panel1" DefaultButton="Button1">
                     <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                     <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
                </asp:Panel>
            </ContentTemplate>
        </asp:UpdatePanel>
    </div>
    </form>
</body>

和这个:

protected void Button1_Click(object sender, EventArgs e)
{
    TextBox1.Text = TextBox1.Text + "1";
    TextBox1.Focus();
}

在IE11上运作良好。

你能证明你有什么吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM