Custom saving and restoring ViewState
От: mich_ael http://www.basstream.ru
Дата: 04.06.03 07:48
Оценка:
при переопределении
SavePageStateToPersistenceMedium
LoadPageStateFromPersistenceMedium
класса Page, состояние возвращенной после поста формы не восстанавливается.
Примерный код такой:


protected override void SavePageStateToPersistenceMedium(object viewStateBag) {
  string file = PathToFile;
  StreamWriter sw = new StreamWriter(file);
  LosFormatter m_formatter = new LosFormatter();      
  m_formatter.Serialize(sw, viewStateBag);            
  sw.Close();
  return;    
}

protected override object LoadPageStateFromPersistenceMedium() {      
  string m_viewState;
  LosFormatter m_formatter;
  object viewStateBag;

  string file = PathToFile;
  StreamReader sr = new StreamReader(file);
  m_viewState = sr.ReadToEnd();
  sr.Close();

  m_formatter = new LosFormatter();

  try {
    viewStateBag = m_formatter.Deserialize(m_viewState);
  }
  catch {
    throw new HttpException("The View State is invalid or corrupted");
  }      
  return viewStateBag; 
}


Естественно не обязательно все это дело кидать в файл. Можно, скажем, в Session[unique key for this request]

Если кто-нибудь сталкивался с данной проблемой и знает фиксу — поделитесь плз.

04.06.03 18:11: Перенесено модератором из '.NET' — TK
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.