Итак, чтобы прояснить ваш вопрос: вам нужно сохранить выбранные значения текстовых полей «Дата», когда пользователь возвращается на страницу.
Причина, по которой ViewState не работает, заключается в том, что вы ушли отстраница.ViewState переносится или «запоминается», вставляя его как данные в кодировке Base 64 на странице, поэтому, как только вы покидаете страницу, он исчезает навсегда.
Что вам нужно сделать, это сохранить данные в Sessionотставить.Затем в обработчике событий Page.Load страницы панели мониторинга вы проверяете наличие сохраненной информации в сеансе, а если она там есть, заполняете ее обратно в текстовые поля, в противном случае используйте значение по умолчанию.
Если высобираемся использовать Session для передачи значений между страницами, тогда я бы предложил вам использовать статические константы в качестве ключа к каждой части информации, что-то вроде этого:
public class MySessionKeys
{
public static string DateStarted = Guid.NewGuid().ToString();
public static string DateFinished = Guid.NewGuid().ToString();
}
и на странице aspx:
protected void Page_Loaded(object sender, EventArgs e)
{
Session[MySessionKeys.DateStarted] = myDateStartedTextBox.Text;
}