Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка под ASP.NET > сохранение и накопление данных от пользователя


Автор: cupper 2.8.2010, 14:15
буквально только начало изучать ASP.NET, при таком же начальном знании С#.
Есть простая задачка: на сайте поле, пользователь вводит туда строку и нажимает кнопку, эта строка должна сохраниться на сервере и все последующие введеные пользователем строки должны также сохранятся, а потом при нажатии какойнить кнопки должны вывестить все сохраненые строки.
Ступор на том, как и в чем сохранять эти данные smile я даж не знаю что для этого должно использоваться, вектор С# или какието приблуды самого ASP.NET, читаю Дино Экспозито. ASP.NET 2.0 Базовый курс, но это не книга для обучения это херня какаято, на 10 страниц текста один пример, нихрена ничего не понятно из нее.

Автор: EagleOne 2.8.2010, 14:19
В вашем случае введенные строки можете сохранять как значение asp:HiddenField

Автор: wester 2.8.2010, 14:30
cupper
купи нормальную книжку

Автор: cupper 2.8.2010, 14:56
Цитата(wester @ 2.8.2010,  14:30)
cupper
купи нормальную книжку

так я читаю не от того что я ее купил, а от того что я только эту и знаю, какую нормальную посоветуете ?)

Добавлено через 6 минут и 15 секунд
Цитата(EagleOne @ 2.8.2010,  14:19)
В вашем случае введенные строки можете сохранять как значение asp:HiddenField

посматрел и понял что это позволит сохранить только одну запись, через поле .value, а как же мне сохранять все записи ? не уж то их конкатенировать ? упоси боже. Прочитал про коллекции httpApplicationState, но опять таки в этой книжке не одного примера, да и они работают как хештаблицы, а тут тупо просто вектор нужен, каждая запись которой представляла бы каждую строку в веденную пользователь

Автор: EagleOne 3.8.2010, 07:32
Цитата

не уж то их конкатенировать ? упоси боже.


Вам что потом эти стоки по отельности как-то обрабатывать надо?
Как я помню вам просто нужно будет вывести все эти строки - так в чем проблема?

Код

hf.Value += (hf.Value != NULL  && hf.Value != string.Empty) ? ("," + someText)  : someText;


Вот и получатся все строки через запятую... Если даже нужно будет
получить эти строки отдельно, можно использоват Split - можете конечно
сказать что это не умно - так у вас вся задача глупая...

Автор: cupper 3.8.2010, 08:01
Цитата(EagleOne @ 3.8.2010,  07:32)
Цитата

не уж то их конкатенировать ? упоси боже.


Вам что потом эти стоки по отельности как-то обрабатывать надо?
Как я помню вам просто нужно будет вывести все эти строки - так в чем проблема?

Код

hf.Value += (hf.Value != NULL  && hf.Value != string.Empty) ? ("," + someText)  : someText;


Вот и получатся все строки через запятую... Если даже нужно будет
получить эти строки отдельно, можно использоват Split - можете конечно
сказать что это не умно - так у вас вся задача глупая...

как бы вы хранили массив строк просто в С# ? через запятую в переменной типа string или в векторе типа string ? 
А что если мне нужно будет хранить все товары которые заказывает пользователь ? (вариант с БД специально не рассматривается) ? Че, тоже через запятую ? Мне не нужно лиж бы сделать, мне нужно правильно и грамотно.

Автор: cupper 3.8.2010, 11:23
почитал, две книжки, msdn, и сторонние сайты, безумие, но такое чувство что о таком даже никто не думал. Выбор не велик, либо заполнять Application по строке на одну запись, либо все записи вгонять через пробел в одну строку :(

Автор: EagleOne 3.8.2010, 14:22
Цитата

как бы вы хранили массив строк просто в С# ? 


При чем тут С#? - речь шла только о вашей задаче ничего не имеющей общего с
с практической.... - какая задача - такое и  реншение.

Можно особо не задумываяь и не напрягаясь ещё кучу вариантов предложить:

1. Можно хранить массив строк в сессии...
2. Можно запихнуть все строки в asp:DropDownList, а его завернуть в div со стилем 
display:none;

Можно ещё много чего,но все эти решения с практическими ничего общего не имеют...  

Цитата

Мне не нужно лиж бы сделать, мне нужно правильно и грамотно.


Грамотно такая задача решается вообще не средствами ASP.NET, ибо нафига гонять между сервером и клиетом строки туда сюда, которые не будут сохраняться в БД... - нафига нужны лишние пост баки? Грамотно такая задача решалась бы на клиенте JavaScript-ом... или чтобы проще было то на jQuery. 

Автор: antit 26.8.2010, 11:29
А можно использовать массив или Arraylist и хранить его в сессии

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)