powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Массивы и Сессии
18 сообщений из 18, страница 1 из 1
Массивы и Сессии
    #33834916
shatalinalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня возникла проблема при работе с Массивами и сессиями

суть такова
я записываю в сессию массив а потом просто извлекаю оттуда записи

private void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
if (Request != null && Session["cart"] != null)
{
string buf = Request.QueryString["id"];
int[,] array = {{Convert.ToInt32(buf), 1}};
Session["cart"] = array;
Response.Redirect("cart.aspx");
} else
{
int[,] cart = (int[,])Session["cart"];
label1.Text = Convert.ToString((int)cart[0,0]);

}

}

при выводе элемента пишет ошибку
System.NullReferenceException: Object reference not set to an instance of an object. и подсвечивает строку label1.Text = Convert.ToString((int)cart[0,0]);

В чем дело!?!?
...
Рейтинг: 0 / 0
Массивы и Сессии
    #33834985
C...R...a...S...H
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
For what: Request != null----------------------------------------
Knowledge is P...O...w...E...R!
My site
...
Рейтинг: 0 / 0
Массивы и Сессии
    #33835015
Alex Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А посмотри ещё раз внимательно код:
Ты в нужном месте инициализируешь массив?
Судя по твоему коду, ты пытаешься обратиться к НЕИНИЦИАЛИЗИРОВАННОМУ массиву.
Может стоит переписать вот так?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
private void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
if (Request == null && Session["cart"] == null)
{
string buf = Request.QueryString["id"];
int[,] array = {{Convert.ToInt32(buf),  1 }};
Session["cart"] = array;
Response.Redirect("cart.aspx");
} else
{
int[,] cart = (int[,])Session["cart"];
label1.Text = Convert.ToString((int)cart[ 0 , 0 ]);

}

}
Т.е. у тебя получалось, что ты инициализируешь массив, когда он уже инициализирован, либо он у тебя должен был в каком-то другом месте проинициализироваться.
________________________________________________________
Всегда есть куда развиваться, нужно просто этого хотеть.
...
Рейтинг: 0 / 0
Массивы и Сессии
    #33835030
Alex Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя действительно, зачем нужна проверка на Request!=null?
А соответственно и я там налажевал - воткнул проверку на пустой объект Request, хотя он всегда будет инициализирован.
Так что проверку объекта Request убирай.
________________________________________________________
Всегда есть куда развиваться, нужно просто этого хотеть.
...
Рейтинг: 0 / 0
Массивы и Сессии
    #33835123
shatalinalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а если пользователь перейдет не по нужной сслыке http://localhost/shop/cart.aspx?id=1 а по http://localhost/shop/cart.aspx !!! вот я и хотел закрыть эту дырку!
...
Рейтинг: 0 / 0
Массивы и Сессии
    #33835166
C...R...a...S...H
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
:)
Request.QueryString["id"]==null

----------------------------------------
Knowledge is P...O...w...E...R!
My site
...
Рейтинг: 0 / 0
Массивы и Сессии
    #33835168
Alex Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для начала объясни, что ты хочешь сделать, а потом уже можно думать как это реализовать.
________________________________________________________
Всегда есть куда развиваться, нужно просто этого хотеть.
...
Рейтинг: 0 / 0
Массивы и Сессии
    #33835418
shatalinalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я хочу сделать корзину, ну типа интернет магазин...
...
Рейтинг: 0 / 0
Массивы и Сессии
    #33835763
Alex Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда содержимое корзины нужно хранить не только в сессии, но и в базе, и извлекать содержимое корзины из базы после авторизации пользователя.
________________________________________________________
Всегда есть куда развиваться, нужно просто этого хотеть.
...
Рейтинг: 0 / 0
Массивы и Сессии
    #33835953
shatalinalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
зачем в базе то хранить , пользователь просто ходит по магазину с корзиной а потом на кассе расплачивается а иначе уходит ни с чем!
...
Рейтинг: 0 / 0
Массивы и Сессии
    #33835984
C...R...a...S...H
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пользователь пощел покурить :) Бац его корзина пуста...
Вот тут за Вас уже все сделано.
http://www.asp.net/IBS_Portal/DesktopDefault.aspx ----------------------------------------
Knowledge is P...O...w...E...R!
My site
...
Рейтинг: 0 / 0
Массивы и Сессии
    #33836082
shatalinalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну я про такое и не подумал так как не курю )))

Вопрос по существу имею я! Как посчитать длинну массива т.е сколько элементов?
...
Рейтинг: 0 / 0
Массивы и Сессии
    #33836165
C...R...a...S...H
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Array.GetLength(Измерение)
----------------------------------------
Knowledge is P...O...w...E...R!
My site
...
Рейтинг: 0 / 0
Массивы и Сессии
    #33836214
shatalinalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
всмысле измерение!?!? что имеешь ввиду?
...
Рейтинг: 0 / 0
Массивы и Сессии
    #33836241
C...R...a...S...H
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АААА.... ну как объяснить...
Есть понятие Массив, он может быть как одномерный mass[4], Двухмерные mass[2,3] и n-мерные mass[1,2,3.....]
Для того что бы узнать размерность любого измерения достаточно сделать так
Array.GetLength(0) - Размер первого измерения
Array.GetLength(1) - Размер второго измерения
P.S.
Подробнее читать тут:
http://www.realcoding.net/article/view/1730/&print_yes----------------------------------------
Knowledge is P...O...w...E...R!
My site
...
Рейтинг: 0 / 0
Массивы и Сессии
    #33836383
shatalinalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А вообще что посоветуете - как лучше выводить информацию???

я вывожу так

SqlConnection connect = null;
SqlDataReader reader = null;
try
{
connect = new SqlConnection(""+
"user id=sa;data source=ALEX;"+
"persist security info=False;"+
"initial catalog=Ashatalin");
int[,] cart = (int[,])Session["cart"];
label1.Text=Convert.ToString(cart.GetLength(0));
string Qtxt = "select tp.id as id, "+
" tp.name as name, tm.manufacture as manufacture, tc.category "+
" as category, tp.breif as brief, tp.price as price, "+
" tp.is_live as is_live from t_product tp, t_manufacture tm, "+
" t_category tc where tp.manufacture=tm.id and "+
" tc.id=tp.category and tp.id=@id ";
SqlCommand command = new SqlCommand(Qtxt, connect);
for (int i=0; i<cart.GetLength(0);i++)
{
command.Parameters.Add("@id",SqlDbType.Int,4).Value = (int)cart[i,0];
}

connect.Open();
reader = command.ExecuteReader();
productRep.DataSource = reader;
productRep.DataBind();
}
finally
{
if (null != reader) reader.Close();
if (null != connect) connect.Close();
}
...
Рейтинг: 0 / 0
Массивы и Сессии
    #33839088
shatalinalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
выше упомянутыми вопросами разбрался а как насчет такой проблемы!???

есть массив на сессии


int[,] array = {{1, 1}};
Session["cart"] = array;


Нужно к нему добавить еще один элемент!?!?

т.е что бы стало в массиве {{1,1},{1,1}}
...
Рейтинг: 0 / 0
Массивы и Сессии
    #33841833
Alex Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По моему, лучше для этих целей использовать объект ArrayList.
И в нём хранить объекты, в которых будет полная информация о том, какой товар, к примеру положен в корзину. Кроме того с ArrayList легче работать.
________________________________________________________
Всегда есть куда развиваться, нужно просто этого хотеть.
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Массивы и Сессии
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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