Categories: ASP.NET

Как оставлять ViewState на сервере в Session

Решение:
Базовый класс страницы

public class LeaveViewStateOnTheServerPage: BasePage
{
protected override object LoadPageStateFromPersistenceMedium()
{
object viewStateBag;
string m_viewState = (string)Session["ViewState"];
LosFormatter m_formatter = new LosFormatter();
try
{
viewStateBag = m_formatter.Deserialize(m_viewState);
}
catch
{
throw new HttpException("The View State is invalid.");
}
return viewStateBag;
}
protected override void SavePageStateToPersistenceMedium(object viewState)
{
MemoryStream ms = new MemoryStream();
LosFormatter m_formatter = new LosFormatter();
m_formatter.Serialize(ms, viewState);
ms.Position = 0;
StreamReader sr = new StreamReader(ms);
string viewStateString = sr.ReadToEnd();
Session["ViewState"] = viewStateString;
ms.Close();
return;
}
}

 

Для страниц, в которых надо состояние представления хранить в Session, а не на клиенте, нужно просто наследовать этот класс.

Руслан Раянов

Recent Posts

В гору или под гору

http://falcon.web-automation.ru/ - платформа создания бизнес-приложений в виде личных кабинетов

3 дня ago

Опросы клиентов – ключевой инструмент для бизнеса

http://falcon.web-automation.ru/ - платформа создания бизнес-приложений в виде личных кабинетов

5 дней ago

Вежливость – бесплатный способ увеличить показатели бизнеса

http://falcon.web-automation.ru/ - платформа создания бизнес-приложений в виде личных кабинетов

1 неделя ago

Проблема дисбаланса производства и продаж в сфере услуг

В статье разберем распространенную проблему в сфере услуг: либо слишком мало продаж, либо слишком много.…

2 недели ago

Бекап не нужен, когда все хорошо

http://falcon.web-automation.ru/ - платформа создания бизнес-приложений в виде личных кабинетов

2 недели ago

Как увеличить выручку компании в сфере услуг

В этой статье мы углубимся в вопрос повышения выручки. Не ждите серебряной пули, которая сделаем…

2 недели ago