Here's without any AJAX. And you must read this before using PageLoad instead of document.ready as though it is an alternative and works you must also learn about it.
jQuery event handler inside AJAX UpdatePanel not working after Partial PostBack in ASP.Net
HTML
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="True">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged"
Width="214px">
<asp:ListItem Selected="True">Select</asp:ListItem>
<asp:ListItem>Male</asp:ListItem>
<asp:ListItem>Female</asp:ListItem>
</asp:DropDownList>
<br />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<br />
<h3>
I want this textbox to accept only alphabets</h3>
<asp:TextBox ID="ChangeBox1" runat="server" placeholder="Failure Textbox after postback"
Width="481px" Height="33px"></asp:TextBox>
<h3>
It works fine before changing the dropdown selection , but as soon as you change
the dropdown , this textbox will fail</h3>
<br />
<asp:TextBox ID="ChangeBox2" runat="server" Height="39px" Width="481px" placeholder="Success Textbox after and before postback"></asp:TextBox>
<br />
<h3>
It works fine before and after changing the dropdown selection
</h3>
</ContentTemplate>
</asp:UpdatePanel>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
$("#<%=UpdatePanel1.ClientID %>").on("keydown", "#ChangeBox1", function (e) {
if (e.shiftKey || e.ctrlKey || e.altKey) {
e.preventDefault();
} else {
var key = e.keyCode;
if (!((key == 8) || (key == 32) || (key == 46) || (key >= 35 && key <= 40) || (key >= 65 && key <= 90))) {
e.preventDefault();
}
}
});
</script>
</form>
Code
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
Label1.Text = "You Selected: " + DropDownList1.SelectedItem.Text;
}