PDA

View Full Version : قرار دادن تمام اعضای یک کلاس در ViewState



niksoft
جمعه 18 اردیبهشت 1388, 02:32 صبح
با سلام خدمت دوستان
مطلبی رو که میخوام بگم شاید خیلی هاتون میدونید ولی شاید به درد بعضی ها بخوره

برای مثال اگر کلاسی به نام Customers داشته باشیم و بخواهیم تمام اعضاش رو برای استفاده ی بعدی در ViewState نگاه داریم به ترتیب زیر عمل میکنیم

1 : کلاس Customers رو به صورت معمولی می نویسیم فقط یک نکته و آن هم این که در خط قبل از تعریف کلاس باید کلمه <Serializable()> _ رو ذکر کنیم وگرنه کلاس قابل ذخیره درون ViewState نیست

کلاس Customers


Imports Microsoft.VisualBasic

<Serializable()> _
Public Class Customers

Public Sub New(ByVal firstName As String, ByVal lastName As String)
Me.FirstName = firstName
Me.LastName = lastName
End Sub

Private _FirstName As String
Private _LastName As String

Public Property FirstName() As String
Get
Return _FirstName
End Get
Set(ByVal value As String)
_FirstName = value
End Set
End Property

Public Property LastName() As String
Get
Return _LastName
End Get
Set(ByVal value As String)
_LastName = value
End Set
End Property

End Class




2 : حال درون WebForm یک Instance از کلاس را میسازیم و کلاس را به ViewState اضافه میکنیم



Dim cust As New Customers("Bill", "Gates")

If ViewState("Cust") Is Nothing Then
''
ViewState.Add("Cust", cust)
''
Response.Write("Customer class is added to viewstate")
End If



3 : حال برای استفاده از اعضای کلاس که اکنون درون ViewState ذخیره شده اند به ترتیب زیر عمل میکنیم



lblFirstName.Text = String.Format("نام : {0}", _
CType(ViewState("Cust"), Customers).FirstName)


lblLastName.Text = String.Format("فامیلی : {0}", _
CType(ViewState("Cust"), Customers).LastName)