2011-04-20 74 views
0

我在我的網頁上有一個文本框,我想盡快開啓用戶點擊或在此文本框中輸入內容。代碼正在工作,但是當用戶點擊回車按鈕時它會觸發。我想讓它在用戶輸入第一個字符時觸發。哪個活動適用於此應用?TextChanged上的Textbox事件給出錯誤!

這是我的樣機代碼:

<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按鈕時觸發了一個斷點。當用戶在該文本框中輸入第一個字符時,我想要觸發。

我在做什麼錯在這裏?

+4

你可以發佈txtAgentName_TextChanged函數的代碼嗎? – anothershrubery 2011-04-20 16:03:25

+0

看到我更新的答案! – 2011-04-20 16:27:37

回答

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> 
2

事件處理程序必須有這個簽名

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

不是嗎?

+0

請參閱我更新的答案! – 2011-04-20 16:28:24

+0

@Mayank既然你說事件正在發射,我認爲你沒有錯誤了? – 2011-04-20 16:46:20

+0

是巴拉。看到這篇文章。我對TBox的事件感到困惑。 http://stackoverflow.com/questions/5733876/textbox-onclick-event-without-javascript。 – 2011-04-20 17:08:45

1

使用javascript的TextBox1.Attributes.Add("OnKeyPress", "GetKeyPress()"),然後如果您願意回發。

+0

+1好VooDoo! – jp2code 2011-10-27 14:31:33

相關問題