когда вы объявляете: string myVariable;
вы объявляете это в области видимости класса Page.Однако подумайте о процессе здесь.
1) Вы объявляете его без значения в начале класса Page.2) Вы регистрируетесь в Page_Load, чтобы увидеть, является ли это обратной передачей.Если нет, присвойте ему значение abc.
Теперь, когда вы отправляете форму, она является обратной передачей.Поэтому блок присваивания в Page_Load не запускается!Таким образом, оно остается тем же значением, которое было при первой загрузке страницы ... которое равно NULL.
Имеет смысл?
Попробуйте что-то вроде этого:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
myVariable = "abc";
}
else
{
// hey im a postback, i need a value though!
myVariable = "xyz";
}
}
IMO Я не думаю, что управление состоянием является природой вопроса в отличие от переменной области.Если ОП не понимает сферу действия, то состояние является проблемой с тележкой / лошадью.