If you are populating the data in the page load and do not place it in an (!IsPostBack), there is a chance that you are overwriting the value. E.g.
protected void Page_Load(object sender, EventArgs e)
//Placing it here will only set it on the first load of the page.
txtBox.Text = "Initial"; //Will only populate on first page load.
//Placing it here will always set it
txtBox.Text = "Hello";
protected void txtBox_TextChanged(object sender, EventArgs e)
Response.Write("Textbox changed to " + txtBox.Text);
Hope this helps,