ASP.NET文本框是否有OnExit或Leave事件?

10
我需要在用户离开文本框时在服务器上运行一些代码,它将对已键入内容进行一些计算。我宁愿避免使用jQuery,因为这将涉及创建JSON服务器等复杂操作。
难道没有一种方法可以针对此类事件进行回发吗?

我不会放弃jQuery。您可以使用jQuery完成客户端代码的所有方面,而无需在服务器上解析任何JSON。 - IHateATMFees
问题在于处理过程必须从数据库中访问一些数据。 - Adriano Carneiro
如果您正在使用ASP.NET,则已经拥有一个可以返回JSON的服务器应用程序。 - Jon Hanna
3个回答

14

TextBox有一个AutoPostBack属性,当用户离开客户端文本框时会导致postback。在那里,您可以使用TextChanged事件调用一些服务器端代码。


1
但我不想在每次更改文本时都调用服务器。只有当用户完成输入并离开字段时,数据才准备好进行处理... - Adriano Carneiro
1
@Adrian - AutoPostBack 只有在用户离开文本框时才会触发。只有在那时,服务器才能对 TextChanged 事件做出反应。因此它按要求工作。 - Hans Kesting
1
你是对的。这个事件的名称有误导性。它起作用了。 - Adriano Carneiro

1

那么文本框的 Textchanged 事件 呢?当我们输入/更改一些文本,然后离开文本框时,它就会被触发。


我想指出(正如Hans Kesting上面提到的那样),只有在将AutoPostback设置为“True”时,TextChanged事件才会在离开TextBox后立即触发。 - Hawkeye

0

这个解决方案对我有效:

    <asp:TextBox ID="txtPara" runat="server" AutoPostBack="True" 
OnTextChanged="txtPara_TextChanged" onblur ="myFunction()"></asp:TextBox>

  <script>
        function myFunction() {

            __doPostBack("<%=txtPara%>", **txtPara_TextChanged**);

        }</script>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接