|
Imports System
Imports System.ComponentModel
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
<Serializable()> _
<ToolboxData("<{0}:ExampleStateControl runat=server></{0}:ExampleStateControl>")> _
Public Class ExampleStateControl
Inherits WebControl
#Region "Declarations"
Private mCurrentProps As New CurrentProperties
<Serializable()> _
Private Structure CurrentProperties
Dim pFirstName As String
Dim pLastName As String
Dim pAge As Integer
Dim pCity As String
Dim pState As String
Dim pCountry As String
Dim pCitizen As Boolean
End Structure
#End Region
#Region "Properties"
<Browsable(True)> _
<Category("Name")> _
<DefaultValue("")> _
<Localizable(True)> _
<NotifyParentProperty(True)> _
Public Property FirstName() As String
Get
Return mCurrentProps.pFirstName
End Get
Set(ByVal value As String)
mCurrentProps.pFirstName = value
SaveControlState()
End Set
End Property
<Browsable(True)> _
<Category("Name")> _
<DefaultValue("")> _
<Localizable(True)> _
<NotifyParentProperty(True)> _
Public Property LastName() As String
Get
Return mCurrentProps.pLastName
End Get
Set(ByVal value As String)
mCurrentProps.pLastName = value
SaveControlState()
End Set
End Property
<Browsable(True)> _
<Category("Status")> _
<DefaultValue("")> _
<Localizable(True)> _
<NotifyParentProperty(True)> _
Public Property Age() As Integer
Get
Return mCurrentProps.pAge
End Get
Set(ByVal value As Integer)
mCurrentProps.pAge = value
SaveControlState()
End Set
End Property
<Browsable(True)> _
<Category("Status")> _
<DefaultValue("")> _
<Localizable(True)> _
<NotifyParentProperty(True)> _
Public Property IsCitizen() As Boolean
Get
Return mCurrentProps.pCitizen
End Get
Set(ByVal value As Boolean)
mCurrentProps.pCitizen = value
SaveControlState()
End Set
End Property
<Browsable(True)> _
<Category("Residence")> _
<DefaultValue("")> _
<Localizable(True)> _
<NotifyParentProperty(True)> _
Public Property City() As String
Get
Return mCurrentProps.pCity
End Get
Set(ByVal value As String)
mCurrentProps.pCity = value
SaveControlState()
End Set
End Property
<Browsable(True)> _
<Category("Residence")> _
<DefaultValue("")> _
<Localizable(True)> _
<NotifyParentProperty(True)> _
Public Property State() As String
Get
Return mCurrentProps.pState
End Get
Set(ByVal value As String)
mCurrentProps.pState = value
SaveControlState()
End Set
End Property
<Browsable(True)> _
<Category("Residence")> _
<DefaultValue("")> _
<Localizable(True)> _
<NotifyParentProperty(True)> _
Public Property Country() As String
Get
Return mCurrentProps.pCountry
End Get
Set(ByVal value As String)
mCurrentProps.pCountry = value
SaveControlState()
End Set
End Property
#End Region
#Region "Methods"
Protected Overrides Sub OnInit(ByVal e As System.EventArgs)
Page.RegisterRequiresControlState(Me)
MyBase.OnInit(e)
End Sub
Protected Overrides Function SaveControlState() As Object
Return Me.mCurrentProps
End Function
Protected Overrides Sub LoadControlState(ByVal savedState As Object)
mCurrentProps = New CurrentProperties
mCurrentProps = CType(savedState, CurrentProperties)
End Sub
#End Region
#Region "Rendering"
Protected Overrides Sub RenderContents(ByVal writer As System.Web.UI.HtmlTextWriter)
Try
writer.RenderBeginTag(HtmlTextWriterTag.Table)
writer.Write("<b>Control State Properties</b><hr />")
'''''''''''''''''''''''''''''''''''''''''''''
writer.RenderBeginTag(HtmlTextWriterTag.Tr)
' first column
writer.RenderBeginTag(HtmlTextWriterTag.Td)
writer.Write("Name: ")
writer.RenderEndTag()
' second column
writer.RenderBeginTag(HtmlTextWriterTag.Td)
writer.Write(mCurrentProps.pFirstName + " " + mCurrentProps.pLastName)
writer.RenderEndTag()
''''''''''''''''''''''''''''''''''''''''''''
writer.RenderBeginTag(HtmlTextWriterTag.Tr)
' first column
writer.RenderBeginTag(HtmlTextWriterTag.Td)
writer.Write("Age: ")
writer.RenderEndTag()
' second column
writer.RenderBeginTag(HtmlTextWriterTag.Td)
writer.Write(mCurrentProps.pAge)
writer.RenderEndTag()
writer.RenderEndTag()
''''''''''''''''''''''''''''''''''''''''''''
writer.RenderBeginTag(HtmlTextWriterTag.Tr)
' first column
writer.RenderBeginTag(HtmlTextWriterTag.Td)
writer.Write("Is Citizen: ")
writer.RenderEndTag()
' second column
writer.RenderBeginTag(HtmlTextWriterTag.Td)
writer.Write(mCurrentProps.pCitizen.ToString())
writer.RenderEndTag()
writer.RenderEndTag()
''''''''''''''''''''''''''''''''''''''''''''
writer.RenderBeginTag(HtmlTextWriterTag.Tr)
' first column
writer.RenderBeginTag(HtmlTextWriterTag.Td)
writer.Write("City: ")
writer.RenderEndTag()
' second column
writer.RenderBeginTag(HtmlTextWriterTag.Td)
writer.Write(mCurrentProps.pCity.ToString())
writer.RenderEndTag()
writer.RenderEndTag()
''''''''''''''''''''''''''''''''''''''''''''
writer.RenderBeginTag(HtmlTextWriterTag.Tr)
' first column
writer.RenderBeginTag(HtmlTextWriterTag.Td)
writer.Write("State: ")
writer.RenderEndTag()
' second column
writer.RenderBeginTag(HtmlTextWriterTag.Td)
writer.Write(mCurrentProps.pState.ToString())
writer.RenderEndTag()
writer.RenderEndTag()
''''''''''''''''''''''''''''''''''''''''''''
writer.RenderBeginTag(HtmlTextWriterTag.Tr)
' first column
writer.RenderBeginTag(HtmlTextWriterTag.Td)
writer.Write("Country: ")
writer.RenderEndTag()
' second column
writer.RenderBeginTag(HtmlTextWriterTag.Td)
writer.Write(mCurrentProps.pCountry.ToString())
writer.RenderEndTag()
writer.RenderEndTag()
''''''''''''''''''''''''''''''''''''''''''''
writer.RenderEndTag() ' close table
Catch ex As Exception
writer.Write(Me.ID)
End Try
End Sub
#End Region
End Class
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.