Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#键控代码不工作_C#_Asp.net_.net_Webforms - Fatal编程技术网

c#键控代码不工作

c#键控代码不工作,c#,asp.net,.net,webforms,C#,Asp.net,.net,Webforms,我有一个文本框,用于按关键字进行研究。我有复选框来过滤结果,还有一个图表来显示表中关键字的出现。一旦您单击为其制作的按钮,搜索就会完成,如果我单击Enter键,搜索也会起作用。问题是,如果我决定选中2个复选框并单击Enter,则不会进行研究,或者如果我更改关键字并再次单击Enter,则不会生成图形的结果。我希望它能在我点击按钮或输入时工作 我在网上看到,我正在使用KeyDown,但它没有改变任何事情,也没有错误 我的代码: protected void btnSearch_Cli

我有一个文本框,用于按关键字进行研究。我有复选框来过滤结果,还有一个图表来显示表中关键字的出现。一旦您单击为其制作的按钮,搜索就会完成,如果我单击Enter键,搜索也会起作用。问题是,如果我决定选中2个复选框并单击Enter,则不会进行研究,或者如果我更改关键字并再次单击Enter,则不会生成图形的结果。我希望它能在我点击按钮或输入时工作

我在网上看到,我正在使用KeyDown,但它没有改变任何事情,也没有错误

我的代码:

        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单击”
它将在没有JQuery的情况下实现您想要的功能

-->自动回发:触发事件时回发到服务器


-->ContextChanged:当您离开文本框(或按enter键)时,事件将被触发,并转到搜索功能

请发布一条消息,我们不想阅读100行代码。按键事件处理程序绑定到文本框,因此仅当文本框具有当前输入焦点时才会触发。如果希望在表单级别获得它,则需要将form KeyPreview属性设置为true,并将处理程序添加到form keydown事件中