Is there any logic in Page_Load around the opening of the connection that causes it to not get called on PostBack? This is normally when ResearchButton_Click would get called; on a postback to the same page.