gpt4 book ai didi

asp.net - 当 AutoPostBack 为真时 OnTextChanged 失去焦点

转载 作者:行者123 更新时间:2023-12-03 23:35:00 28 4
gpt4 key购买 nike

我有一个包含多个文本框的 ASP.Net 网络表单。一些文本框有一个 OnTextChanged 事件,AutoPostBack 设置为 true。

当用户输入一些文本并离开文本框时,我希望运行一些代码。这部分工作正常。

问题在于,如果用户输入一些文本,然后单击或切换到另一个文本框,则当前文本框事件的 OnTextChanged 会正常触发,但用户单击的文本框不会保持焦点。这会导致问题,因为用户认为他们在下一个文本框上,但事实并非如此。而且似乎没有任何物体成为焦点。

在当前文本框的 OnTextChanged 事件触发时,有什么办法可以使下一个对象保持焦点?

最佳答案

一种选择是使用<asp:UpdatePanel>控制。

关于使用它的事实:

  • 回发请求将通过 AJAX 发出。
  • 它不会重新创建整个页面的 HTML。
  • 当 UpdatePanel 更新时,它会替换 DIV innerHTML,这会使文本框失去焦点(坏点)。
  • 要保持焦点,您必须避免在文本框回发时更新 UpdatePanel。
  • 您可以通过设置 UpdateMode 来避免更新和 ChildrenAsTriggers属性。

这是一个例子:

<asp:UpdatePanel ID="uppTextboxes" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="false">
<ContentTemplate>
<asp:TextBox ID="txb1" runat="server" AutoPostBack="true" OnTextChanged="txb1_OnTextChanged" />
<asp:TextBox ID="txb2" runat="server" />
</ContentTemplate>
</asp:UpdatePanel>

关于asp.net - 当 AutoPostBack 为真时 OnTextChanged 失去焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16865773/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com