PDA

View Full Version : ذخیره یک آرایه دوبعدی در Session و یا ViewState



drabz.net
پنج شنبه 17 آذر 1390, 09:17 صبح
با سلام خدمت دوستان
بنده تصمیم دارم یک آرایه دوبعدی به شکل زیر را در یک ViewState و یا یک Session ذخیره کنم.

Dim Array1(7, 2) As Integer
دوستان کسی تا حالا همچین کاری کرده؟

من خودم متغییر ها را بصورت زیر در ViewState نگهداری می کنم.


Public Property Step_ID() As Integer
Get
Return CInt(ViewState("Step_ID"))
End Get
Set(ByVal value As Integer)
ViewState("Step_ID") = value
End Set
End Property
اگر معادل کد بالا برای نگهداری آرایه دوبعدی را نیز بفرمایید ممنون میشوم

rahmatr
پنج شنبه 17 آذر 1390, 11:35 صبح
Public Property SessionArray As Integer(,)
Get
Return Session("SessionArray")
End Get
Set(value As Integer(,))
Session("SessionArray") = value
End Set
End Property


Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
Dim array(7, 2) As Integer
SessionArray = array
End Sub

drabz.net
پنج شنبه 17 آذر 1390, 16:16 عصر
تعریف سشن مشکلی نداره ولی اونجایی که امدید این عبارت رو نوشتید
SessionArray = Array
ایراد میگیره
من فکر کنم چون متغییر array بصورت دو بعدی است انتظار داره به این شکل بنویسیمش
SessionArray = Array(i,j)
منتها به جای i , j چی بنویسیم. اگر اندیس مشخص کنیم مقدار همون اندیس خاص رو میریزه تو سشن

Sirwan Afifi
پنج شنبه 17 آذر 1390, 19:38 عصر
تعریف سشن مشکلی نداره ولی اونجایی که امدید این عبارت رو نوشتید
SessionArray = Array
ایراد میگیره
من فکر کنم چون متغییر array بصورت دو بعدی است انتظار داره به این شکل بنویسیمش
SessionArray = Array(i,j)
منتها به جای i , j چی بنویسیم. اگر اندیس مشخص کنیم مقدار همون اندیس خاص رو میریزه تو سشن

باید Session رو به صورت یه Dictionary در نظر بگیرید.

از ArraryList هم می تونید استفاده کنید.
Dim stockPicks As ArrayList = CType(Session("StockPicks"), ArrayList)

' Write the modified stock picks list back to session state.
Session("StockPicks") = stockPicks

اینم لینک MSDN برای مثال فوق :
http://msdn.microsoft.com/en-us/library/ms178581.aspx#Y776

rahmatr
پنج شنبه 17 آذر 1390, 22:49 عصر
تعریف سشن مشکلی نداره ولی اونجایی که امدید این عبارت رو نوشتید
SessionArray = Array
ایراد میگیره


در visual studio 2010 تست کردم. ایرادی نگرفت.

drabz.net
شنبه 19 آذر 1390, 16:40 عصر
سلام
مشکل من هنوز پابر جاست دوستان
ببینید دقیقا ویژوال استودیو چه خطایی می گیرد {تصویر پیوست}
79000

آقا رحمت مشکل همچنان به قوت خودش باقیه به تصویر بالا توجه کنید!

آقا رحمت میشه کدی را که تست کردید بصورت فایل برنامه قرار بدین
ممنون

meisam3322
شنبه 19 آذر 1390, 23:06 عصر
با سلام،

دوست من چرا اینقدر خودت رو اذیت میکنی ؟ یه متغیر پابلیک آرایه ای تعریف کن. داخل کلاس بذار . هر وقت خواستی اونو فراخوانی کن.

rahmatr
یک شنبه 20 آذر 1390, 10:25 صبح
پست 6 رو با پست 2 مقایسه کن ببین فرق کدی که نوشتی با کدی که گذاشتم چیه!

در خط دوم باید به جای Array اسم متغییری که خط قبل تعریف کردی رو بذاری؟
مثلا در همین عکسی که گذاشتی، خط دوم به جای Array بنویس Array1 که اسم متغییریه که خط قبل تعریف کردی.

علت خطا هم تو که عکس مشخصه!

drabz.net
یک شنبه 20 آذر 1390, 14:49 عصر
رحمت جان آره درست میگفتی. اصلا دقت نکرده بودم
فقط یه مشکل دیگه دارم
چطور میتونم به یک عنصر از این آرایه ای که نوشتی دسترسی پیدا کنم
مثلا نحوه دسترسی به عنصر داخل آرایه arary1(2,1( چیه
ممنون
با تشکر

drabz.net
چهارشنبه 23 آذر 1390, 14:21 عصر
دوستان من از کد رحمت خان برای تعریف آرایه در session استفاده کردم منتها در استفاده از آن مشکل دارم یعنی نمی دانم چطور میشه از آرایه ای از سشن که ایجاد شده استفاده کرد؟ یعنی برای دسترسی به عنصر آرایه اندیس i , j چیکار باید کرد؟