Yes it is correct in asp.net server side control text box has no any keypress event. OnTextChange is there the code smample like
Server side code
protected void My_OnTextChanged(object sender, EventArgs e)
{
var txt = sender as TextBox;
string value = txt.Text;
}
In markup declaration
<asp:textbox id="txtOne" runat="server" ontextchanged="My_OnTextChanged" autopostback="true" xmlns:asp="#unknown">
Just remember that AutoPostBack property is very important there without that the textbox control will not be postback. Another is when you finish to write your data to the textbox after that when you press enter or tab that time the event is triggered. It is similar to lost focus event of windows application.
If you really want to go actual keypress event then you must go dom key press event and use javasript/jquery for subscribe that event.
//DOM ready event
$(function(){
//subscibe keypress event
$("[id$='txtOne']").bind('keypress', function(event){
//your key handling code is there
});
}).