c#键控代码不工作
我有一个文本框,用于按关键字进行研究。我有复选框来过滤结果,还有一个图表来显示表中关键字的出现。一旦您单击为其制作的按钮,搜索就会完成,如果我单击Enter键,搜索也会起作用。问题是,如果我决定选中2个复选框并单击Enter,则不会进行研究,或者如果我更改关键字并再次单击Enter,则不会生成图形的结果。我希望它能在我点击按钮或输入时工作 我在网上看到,我正在使用KeyDown,但它没有改变任何事情,也没有错误 我的代码:c#键控代码不工作,c#,asp.net,.net,webforms,C#,Asp.net,.net,Webforms,我有一个文本框,用于按关键字进行研究。我有复选框来过滤结果,还有一个图表来显示表中关键字的出现。一旦您单击为其制作的按钮,搜索就会完成,如果我单击Enter键,搜索也会起作用。问题是,如果我决定选中2个复选框并单击Enter,则不会进行研究,或者如果我更改关键字并再次单击Enter,则不会生成图形的结果。我希望它能在我点击按钮或输入时工作 我在网上看到,我正在使用KeyDown,但它没有改变任何事情,也没有错误 我的代码: protected void btnSearch_Cli
protected void btnSearch_Click(object sender, EventArgs e)
{
Populate();
}
protected void tbSearch_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
btnSearch_Click(null, null);
}
有人能帮我吗 好的,我发现了问题,我没有提到我正在使用更新面板。 下面是对我有用的代码:
$('#tbSearch').keydown(function (e) {
var key = e.which;
if (key == 13) // the enter key code
{
//your code
}
});
要使该代码与updatePanel一起工作,请执行以下操作:
//On UpdatePanel Refresh.
var prm = Sys.WebForms.PageRequestManager.getInstance();
if (prm != null) {
prm.add_endRequest(function (sender, e) {
if (sender._postBackSettings.panelsToUpdate != null) {
$('#tbSearch').keydown(function (e) {
var key = e.which;
if (key == 13) // the enter key code
{
// your code
}
});
}
});
};
在你的文本框上,只要
- 添加属性autopostback=“true”
- 添加属性OnTextChanged=“btnSearch\u单击”
-->ContextChanged:当您离开文本框(或按enter键)时,事件将被触发,并转到搜索功能请发布一条消息,我们不想阅读100行代码。按键事件处理程序绑定到文本框,因此仅当文本框具有当前输入焦点时才会触发。如果希望在表单级别获得它,则需要将form KeyPreview属性设置为true,并将处理程序添加到form keydown事件中