Hi,
bei einem Button Click wird in ASP standardmäßig erst mal ein Postback gemacht, der die Seite neu lädt. Das heißt, das Page Load wird nochmal ausgeführt und anschließend der Code für den Button Click.
Versuch mal im Page Load eine Abfrage einzubauen, ob sich die Seite im Postback befindet.
Damit wird im Falle eines Postbacks der Wert der Textbox nicht überschrieben und ASP sollte sich die "richtigen" Daten gemerkt haben