我在其中一个字段中有一个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()从不被调用吗?谢谢。
发布于 2011-07-07 01:36:37
TextChanged of an ASP.NET TextBox转换为blur JavaScript事件。当input元素的文本发生更改并且input元素失去焦点时,就会发生blur。尝试更改文本,但不要按Enter键。只需按TAB键即可转到下一个字段。它会回发post吗?
更新:
我看到那个链接了。两件事。首先,如果你注意到了,它可以追溯到2005年和ASP.NET 2.0,我们都知道计算机世界的6年意味着60年。所以这篇文章现在已经过时了。其次,有时模式只存在于文章中,而您很少在实际的生产系统中看到它。您在web上看到过多少批量操作?它们有什么类型?以Gmail或雅虎邮件为例。您可以将20或30或X个电子邮件标记为已读一次。但是,你能在一个步骤中回复20封邮件吗?不,只是因为这没什么意义。在网络世界中,我从未见过文本框上的批量操作。我认为你最好坚持使用AJAX,它具有更好的性能和更多的用户接受度。:)
https://stackoverflow.com/questions/6600577
复制相似问题