[英]TextChanged event not firing
我在其中一个字段中有一个 GridView 和一个 TextBox:
<asp:GridView ID="NTSBulkEditGridView" runat="server" AutoGenerateColumns="false" AllowSorting="true" Height="500px"
DataKeyNames="BookStem" OnRowDataBound="NTSBulkEditGridView_RowDataBound" DataSourceID="NTSSqlDataSource">
<Columns>
<asp:TemplateField HeaderText="Priority" SortExpression="Priority">
<ItemTemplate>
<asp:TextBox ID="txtPriority" runat="server" Text='<%# Eval("Priority") %>' BorderStyle="None" Width="80%" OnTextChanged="TextBox_Changed" AutoPostBack="true"></asp:TextBox>
<asp:CompareValidator ID="PriorityCompareValidator" runat="server" ControlToValidate="txtPriority" Display="Dynamic" ErrorMessage="Priority must be an integer!" Text="*" Operator="DataTypeCheck" Type="Integer" ValidationGroup="InsertUpdateNewTitlesStatusValidation" ></asp:CompareValidator>
</ItemTemplate>
</asp:TemplateField>
...
你能告诉我为什么当我更改文本并按 Enter 时从未调用 TextBox_Changed() 吗? 我试图在 GridView 之外放置相同类型的文本框,并且它可以工作。 谢谢。
ASP.NET TextBox 的 TextChanged 转换为blur
JavaScript 事件。 并且当输入元素的文本改变并且输入元素失去焦点时会发生blur
。 尝试更改文本,但不要按 Enter。 只需按TAB
键 go 到下一个字段。 它会回火吗?
更新:
嗯,我看到了那个链接。 两件事情。 首先,如果您注意到,它可以追溯到 2005 年和 ASP.NET 2.0,我们都知道计算机世界的 6 年意味着 60 年。 所以那篇文章现在已经过时了。 其次,有时一种模式只存在于文章中,而您很少在实际生产系统中看到它。 您在 web 上看到了多少批量操作? 他们有什么类型? 以 Gmail 或 Yahoo 邮箱为例。 您可以一次性将 20 或 30 或 X 封电子邮件标记为已读。 但是,你能一次回复 20 封邮件吗? 不,只是因为它没有意义。 我从未见过 web 世界中的文本框上的批量操作。 我觉得你还是坚持用AJAX吧,性能更好,用户接受度更高。 :)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.