Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Сохранение обхектов? Как??? / 11 сообщений из 11, страница 1 из 1
03.03.2005, 15:11
    #32943962
Babysitter
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохранение обхектов? Как???
Просто удивительно, как мало этой теме посвящено в www статей((((...
Или я совсем тупая....
Вот код (который написан мной):

[Serializable()]
protected class SerialArrayList : ArrayList {}
protected SerialArrayList SA1 = new SerialArrayList();
[Serializable()]
protected struct Struct1
{...}

и где-то в программе:

запись - ViewState["test"] = SA1;

чтение - SA1 = ViewState["test"] as SerialArrayList;

добавление элемента - SA1 .Add(new Struct1(...));

и снова запись - ViewState["test"] = SA1;

Все это не работает... шуршит, скрипит, ошибок не выдает, но не работает...
Помошите хто чем может, буду очень благода....
...
Рейтинг: 0 / 0
03.03.2005, 15:23
    #32944003
profil
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохранение обхектов? Как???
/topic/159243#1314913
...
Рейтинг: 0 / 0
03.03.2005, 17:06
    #32944458
Babysitter
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохранение обхектов? Как???
profil/topic/159243#1314913
Как говорил мой бывший бойфренд: если на 7 раз сборка ядра приводит к ошибке - читать маны до полного просветления!..

Это очень классная ссылка, спасибо большое!.. да видно не про меня. Так полного просветления так и недождалась (беспросветна тупость моя...). Слишком много вопросов возникает:
1. Для какого объекта переопределять метод SaveViewState() в моем случае, для массива или структуры, или для обоих?
2. надо ли при использовании этого способа сериализировать объекты (и какие)?
3. "Данные режима отображения" и значения объекта (содержание списка или структуры) - одно и тоже?
4. Как вообще можно это адаптировать к моему случаю?
5. может есть все-таки в сети готовый пример с сохранением и использованием объектов?
просто удивляюсь, как такая расспространенная операция толком не описана, неужели это так элементарно, что никому не нужно или всем кроме меня понятно???
...
Рейтинг: 0 / 0
03.03.2005, 18:53
    #32944791
Babysitter
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохранение обхектов? Как???
Да! И самое главное: метод SaveViewState() можно переопределить только если класс наследуется от Control. А как быть с ArrayList, который от Control не наследуется? Как там переопределить этот метод?....
Я просто диву даюсь... Как же народ поступает в тех случаях, когда надо, например, созранять разнородные данные между постбэками?
...
Рейтинг: 0 / 0
04.03.2005, 09:58
    #32945419
Артем1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохранение обхектов? Как???
Babysitter... Как же народ поступает в тех случаях, когда надо, например, созранять разнородные данные между постбэками?

Например, в сессию сохраняет.
...
Рейтинг: 0 / 0
04.03.2005, 10:09
    #32945453
Kilroy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохранение обхектов? Как???
Если приперло сохранять во ViewState, можно реализовать в объекте
сериализацию в XML, и записывать во ViewState строку, содержащую
сериализованный объект.
...
Рейтинг: 0 / 0
04.03.2005, 10:25
    #32945499
Kilroy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохранение обхектов? Как???
Вот пример методов класса Веб формы

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
private void PutObject(string key, object obj)
{
   System.IO.StringWriter sw = new StringWriter();

  System.Xml.Serialization.XmlSerializer xs  = 
     new System.Xml.Serialization.XmlSerializer(obj.GetType());
 
    xs.Serialize(sw, obj);
    ViewState[key] = sw.ToString();
}

public object GetObject(string key, Type type)
{
   string xml = (string)ViewState[key];

  System.IO.StringReader sr = new StringReader(xml);

  System.Xml.Serialization.XmlSerializer xs = 
	new System.Xml.Serialization.XmlSerializer(type);

  return xs.Deserialize(sr);
}
...
Рейтинг: 0 / 0
06.03.2005, 17:04
    #32949229
Babysitter
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохранение обхектов? Как???
[quot Артем1
Например, в сессию сохраняет.[/quot]
Нее, не пойдет(( даже первокурсник занет, что использовать глобальные переменные надо только если данные должны быть доступны во всем приложении. Да и Вы представляете, какой будет Global. если для каждого объекта формы создавать там переменную сессии
...
Рейтинг: 0 / 0
06.03.2005, 17:09
    #32949232
Babysitter
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохранение обхектов? Как???
to Kilroy:
Спасибо! Интересный код, хотя мне, как новичку в ASP, он не совсем понятен, но хотя бы есть направление, в котором надо работать.
...
Рейтинг: 0 / 0
06.03.2005, 18:13
    #32949261
FDD
FDD
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохранение обхектов? Как???
Babysitter Артем1
Например, в сессию сохраняет.
Нее, не пойдет(( даже первокурсник занет, что использовать глобальные переменные надо только если данные должны быть доступны во всем приложении. Да и Вы представляете, какой будет Global. если для каждого объекта формы создавать там переменную сессииА вы представляете, как будет происходить каждый submit, если вы будете во ViewState гонять десятки килобайт на клиента и обратно? ViewState придуман главным образом для того, чтобы хранить текст контролов, а не для того, чтобы пол-базы данных там держать. А ваша нелюбовь к глобальным переменным конечно похвальна, но надо учитывать, что веб-приложения отличаются от обычных программ, и сессию неспроста придумали.
...
Рейтинг: 0 / 0
07.03.2005, 16:11
    #32949636
Babysitter
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохранение обхектов? Как???
FDDА вы представляете, как будет происходить каждый submit, если вы будете во ViewState гонять десятки килобайт на клиента и обратно? ViewState придуман главным образом для того, чтобы хранить текст контролов, а не для того, чтобы пол-базы данных там держать. А ваша нелюбовь к глобальным переменным конечно похвальна, но надо учитывать, что веб-приложения отличаются от обычных программ, и сессию неспроста придумали.
Момент, момент, а кто сказал, что мне надо там пол-базы данных держать?? Я же ясно написала - ArrayList. Могу уточнить, что сохраняться там должно от 1 до 20 элементов типа bool и int. Все. А для "пол-базы" ADO.NET с DataSet есть, и с ними я уж как-нить разберусь.
По поводу "надо учитывать, что веб-приложения отличаются от обычных программ" полностью согласна, но в этом-то и проблема(((... полное отсутствие опыта разработки с веб-приложений. Поэтому такие вопросы и вызывают затруднения.
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Сохранение обхектов? Как??? / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]