Вот как это работает. Значение intput type = "file" никогда не используется при разборе HTML-страницы. Это огромный риск для безопасности, поэтому ни один современный браузер не позволит им «сохранять» ценности. Таким образом, в ASP.NET каждый постбэк «теряет» значение.
При любой обратной передаче с файлом в элементе управления вводом обязательно сохраняйте значение там, где вы сможете получить его позже.
Или не создавайте форму, которая использует загрузку файла для нескольких обратных передач. Возможно, стоит обернуть раскрывающийся список и связанный с ним элемент управления в UpdatePanel, чтобы загрузка файла не была очищена.