Скажите, а для чего вы ищете сначала
mainContent, в котором потом пытаетесь найти ваш
textBox?
Если ваша задача получить значение из
textBox, то не проще ли сделать так? :
cookie["Message"] = textBox.Text;
Если же принципиально использовать FindControl, то важно не забывать, что этот метод ищет элемент по ID в пределах текущего контейнера именования. То есть найти textBox можно только вот так:
var control = mainForm.FindControl("textBox");
Если же вы хотите без забот искать элемент на странице, то лучшим вариантом будет рекурсивный перебор коллекции
Page.Controls.
Так же в методе
Page_Load не лишним будет проверять на
nullcookie["Message"] вот так:
if (cookie != null && cookie["Message"] != null)
{
textBox.Text = cookie["Message"];
}
Иначе вас может ждать весьма увлекательная отладка.