Вам может потребоваться прочитать опубликованное значение формы, а не значение из состояния просмотра. У меня есть следующие методы в моем коде, чтобы справиться с этим.
Приведенный ниже код просто захватывает значения в заголовках запроса (при отправке назад) и устанавливает / обновляет элементы управления. Проблема в том, что при использовании элементов управления ASP.NET Ajax он не регистрирует обновление элемента управления, поэтому состояние представления не изменяется (я думаю). В любом случае, это работает для меня.
protected void btnDone_Click(object sender, EventArgs e)
{
LoadPostBackData();
// do your other stuff
}
// loads the values posted to the page via form postback to the actual controls
private void LoadPostBackData()
{
LoadPostBackDataItem(this.txtYear);
LoadPostBackDataItem(this.txtDate);
// put other items here if needed
}
// loads the values posted to the page via form postback to the actual controls
private void LoadPostBackDataItem(TextBox control)
{
string controlId = control.ClientID.Replace("_", "$");
string postedValue = Request.Params[controlId];
if (!string.IsNullOrEmpty(postedValue))
{
control.Text = postedValue;
}
else
{
control.Text = null; // string.Empty;
}
}