2011-02-10 95 views
2

嗨如何註冊並在asp.net文本框中爲onkeyup事件調用服務器端事件。onkeyup事件asp.net

可能嗎?

謝謝

+0

這是可能的,但爲什麼你想要使用它。 – 2011-02-10 06:17:10

+1

我建議在JavaScript中(在客戶端上)執行keyup事件並對服務器端進行AJAX調用。我也會非常小心,因爲keyup事件有可能被多次調用(這是很多次),並且您的服務器端處理需要非常高效,以便能夠實現這一點。 – 2011-02-10 06:17:13

回答

4

TextBox Web控件不提供onkeyXXX事件,而不是訂閱OnTextChanged事件;

<asp:TextBox ID='Textbox1' runat='server' OnTextChanged='HandleTextbox1OnTextChanged'> 
    </asp:TextBox> 

public void HandleTextbox1OnTextChanged(Object sender, EventArgs e) 
    { 

    } 

但是你可以提供從客戶端onkeyXXX行爲。

您可以添加客戶端處理程序,如:

Textbox1.Attributes.Add("onkeyup", String.Format("onKeyUp({0})", TextBox1.ID)); 

,並在頁面

`<script language='javascript' type='text/javascript'> 
    function onKeyUp(id) { //do something; } 
</script>` 

你也可以使用PageMethods做出服務器端Web方法調用(靜態方法)從JavaScript函數。

這可能對link有所幫助。