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.
Code:
protected void Page_Load(object sender, EventArgs e)
{
//Placing it here will only set it on the first load of the page.
if(!IsPostBack)
{
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,
Dominic