gpt4 book ai didi

asp.net - 编辑 GridView 文本框时捕获 Enter 键

转载 作者:行者123 更新时间:2023-12-04 07:11:38 25 4
gpt4 key购买 nike

我有一个像这样定义的 GridView:

<asp:GridView ID="myGridView" ruant="server">
<asp:BoundField DataField="myField" />
<asp:CommandField ShowDeleteButton="true" ShowEditButton="true" />
</asp:GridView>

使用“编辑”按钮将一行置于编辑模式后,如何捕获 Enter 键并触发该行上的结果更新?现在,如果我按 Enter,页面会重新加载,输入到 TextBox 的内容会丢失,并且该行仍处于编辑模式。我知道怎么做 disable the enter key entirely在表单上(当前的解决方法),但我想让它触发 Update 命令。

最佳答案

好吧,使用您链接的问题中的知识,这很简单:

string js = "if (event.keyCode == 13) this.form.submit();"
myGridView.Attributes.Add("onkeydown", js);

正如我们在评论中发现的那样,这引入了一个小问题。 GridView_RowUpdating服务器事件不再触发,但问题作者依赖于它。

简而言之 - 服务器事件模型依赖于表单字段 __EVENTTARGET要设置。仅调用 form.submit() 时不会发送此表单字段.一种解决方案是使用 JavaScript“单击”相关按钮。
string js = "if ((event.which && event.which == 13) || " 
+ "(event.keyCode && event.keyCode == 13)) "
+ "{document.myForm.Update.click();return false;} "
+ "else return true;";
myGridView.Attributes.Add("onkeydown", js);

"Using the enter key to submit a form"在 AllAsp.net 上,其中更详细地介绍了该问题。

关于asp.net - 编辑 GridView 文本框时捕获 Enter 键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/258661/

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