PDA

View Full Version : سوال: تعریف آرایه سراسری



Marjan_Bala
شنبه 23 شهریور 1387, 01:38 صبح
با سلام
توی ASP.net چجوری می تونم یه آرایه سراسری تعریف کنم که توی تمام صفحاتم بهش دسترسی داشته باشم؟
با زبان C#

Marjan_Bala
شنبه 23 شهریور 1387, 02:31 صبح
یعنی تاحالا هیشکی آرایه سراسری تعریف نکرده؟؟؟؟؟!!

KavoshGar_ir
شنبه 23 شهریور 1387, 07:24 صبح
برای پاسخ به این سوال باید یک گام عقب تر برید! چطوری می شه یک متغییر سراسری تعریف کرد که تمامی صفحات به آن دسترسی داشته باشند؟ اگر این سوال پاسخ داده بشه به جوابتان می رسید!

راههای متنوعی برای تعریف یک متغییر سراسری وجود داره که هر کدام مزیتها و معایبی دارند!
کوئری استرینگ / سشن / کوکی / استفاده از بانک اطلاعاتی / تعریف کی در وب کانفیک / تعریف در فایل گلوبال و ....

شما هدفتان از تعریف یک آریه سراسریه چیه؟ به عبارتی بهتر چکاری می خواهید انجام بدید؟

Marjan_Bala
شنبه 23 شهریور 1387, 16:14 عصر
ممنون از جوابتون
دوست عزیز من میدونم که برای تعریف متغیر سراسری باید از Session استفاده کنم ولی برای تعریف آرایه سراسری چجوری باید از Session استفاده کنم؟
میخوام تعداد کالاهایی که کاربر وارد می کنه رو تو یه آرایه از نوع int بریزم که توی صفحات بعد از اونا استفاده کنم.حالا چجوری میتونم توی صفحات دیگه به عناصر آرایه دسترسی داشته باشم؟

e-shahshahani
شنبه 23 شهریور 1387, 18:15 عصر
امیدوارم به درد بخوره

int[] a = new int[3];
a[0] = 0;
a[1] = 1;
a[2] = 2;

Session["x"] = a;

int z = ((int[])Session["x"])[1];

Response.Write(z);
Response.End();


ابتدا آرایه را در session بریزید
بعد که می خواهید از توی session بخونید باید آرایه را cast کنید.
چون session یک آبجکت دیگه هست. برای اینکه به آرایه خودتون که مثلا از نوع int[] بوده، باید cast کنید به int[]

به درد خورد؟

KavoshGar_ir
شنبه 23 شهریور 1387, 19:51 عصر
ممنون از جوابتون
دوست عزیز من میدونم که برای تعریف متغیر سراسری باید از Session استفاده کنم ولی برای تعریف آرایه سراسری چجوری باید از Session استفاده کنم؟
میخوام تعداد کالاهایی که کاربر وارد می کنه رو تو یه آرایه از نوع int بریزم که توی صفحات بعد از اونا استفاده کنم.حالا چجوری میتونم توی صفحات دیگه به عناصر آرایه دسترسی داشته باشم؟
گفته های دوستمان را تایید می کنم! از کد زیر هم می توانید استفاده کنید :


//To add values in Array collections and store array in Session
ArrayList arr = new ArrayList();
arr.Add("object Value");
arr.Add("object Value");
arr.Add("object Value");

Session["key"] = arr;

//To retrieve values of Arrays in Session then you can have something like below
if (Session["key"] != null)
{
ArrayList newArr = (ArrayList)Session["key"];
for (int i = 0; i < newArr.Count; i++)
{
Response.Write(newArr[i].ToString() + "<br/>");
}
}

Marjan_Bala
شنبه 23 شهریور 1387, 23:52 عصر
دوستان از کمکتون ممنونم
فکر میکنم که از هر دو کد بشه استفاده کرد ولی من ضمن تشکر از e-shahshahani (http://barnamenevis.org/forum/member.php?u=11975) از کد KavoshGar_ir (http://barnamenevis.org/forum/member.php?u=46150) استفاده کردم و جوابم گرفتم.