in ASP.NET, just like in classic ASP, objects are erased with every page refresh, thus since in yor load event you are not populating the objects if the page is a postback, they are empty.

Either use these variables in your button click, or else remove that if statement.