TextChanged事件上的文本框给出错误!

时间:2011-04-20 16:01:14

标签: c# asp.net textbox

我的网页上有一个文本框,我想尽快点击或在此文本框中输入内容。代码正在运行但是当用户点击Enter按钮时它正在触发。我想在用户输入第一个字符时触发它。哪个事件适用于此?

这是我的模型代码:

<asp:TextBox ID="txtAgentName" runat="server" OnTextChanged = "txtAgentName_TextChanged"></asp:TextBox>

但是当我运行这个网页时,它向我展示了这个错误:

CS0123: No overload for 'txtAgentName_TextChanged' matches delegate 'System.EventHandler'

我的代码背后有这个:

  protected virtual void txtAgentName_TextChanged(object sender, EventArgs e)
    {

    }

在这里做了一个断点,当我点击Enter按钮时似乎正在触发。当用户在该文本框中输入第一个字符时,我想触发。

我在这里做错了什么?

3 个答案:

答案 0 :(得分:2)

您的事件处理程序必须具有此签名

protected void txtAgentName_TextChanged(object sender, EventArgs e)
{
   ...
}
是吗?

答案 1 :(得分:1)

使用javascript的TextBox1.Attributes.Add("OnKeyPress", "GetKeyPress()"),然后根据需要进行回发。

答案 2 :(得分:0)

<%@ Page Language="C#" %>
<script runat="server">
    protected void txtSearch_TextChanged(object sender, EventArgs e)
    {
        lblSearchResults.Text = "Search for: " + txtSearch.Text;
    }
</script>
<html>
<head>
    <title>TextBox AutoPostBack</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

    <asp:Label
        id="lblSearch"
        Text="Search:"
        Runat="server" />
    <asp:TextBox
        id="txtSearch"
        AutoPostBack="true"
        OnTextChanged="txtSearch_TextChanged"
        Runat="server" />

    <hr />

    <asp:Label
        id="lblSearchResults"
        Runat="server" />

    </div>
    </form>
</body>
</html>