Я создал пользовательский серверный элемент управления, который обрабатывает некоторые данные, сохраняет эти данные в ViewState, а затем выводит себя из этих данных. Я использую отладчик и физически вижу, что данные получают значение ViewState:
public string RawData
{
get
{
string result = null;
if (ViewState["RawData"] != null)
{
result = ViewState["RawData"].ToString();
}
return result;
}
set
{
ViewState["RawData"] = value;
}
}
Однако после обратной передачи значение ViewState не сохраняется и становится нулевым. Почему это происходит? Где я могу посмотреть, чтобы попытаться устранить неполадки? Я могу сказать, что длина скрытого поля ViewState увеличилась после использования этого подхода.
Заранее спасибо!
EDIT:
Вот мой метод Render, чтобы увидеть, где я устанавливаю ViewState:
protected override void Render(HtmlTextWriter writer)
{
if (this.RawData == null)
{
StringBuilder content = new StringBuilder();
content.Append(this.BuildHeader());
content.Append(this.BuildLevelsMarkup());
content.Append(this.BuildFooter());
this.RawData = content.ToString();
}
writer.Write(this.RawData);
}