The details you have given are not enough. This is my understanding - you are filling up the TextBox on the server side. You are not able to do it on selected index change change event of the DropDownList. But the same is working when you click a button and post back the form.
I guess you are missing setting the
property of the DropDownList. Set it to
and it should work fine. So your drop down should like something like this:
<asp:DropDownList ID="ddlprd" runat="server" AutoPostBack="True" onselectedindexchanged="ddlprd_SelectedIndexChanged">