Это классическая проблема ASP.Net жизненного цикла страницы.
Вы создаете элементы управления динамически во время загрузки страницы, а затем ожидаете, что их значения сохранятся в состоянии просмотра при загрузке страницы. Этого не произойдет, так как во время обратной передачи любые динамические элементы управления, добавленные на страницу после возникновения события Page.Init, не регистрируются как сохраняющие и загружающие состояние просмотра.
Измените свой код, чтобы создать вместо него элементы управления в Init, и это должно сработать.
См. эту ссылку для более подробного объяснения жизненного цикла ASP.Net.