By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
448,784 Members | 1,287 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 448,784 IT Pros & Developers. It's quick & easy.

form objects into class objects

P: n/a
Hi I have created a class that inherits from dictionarybase code below.

Public Class FrmLabels
Inherits Label
Private m_Lbl As Label

Public Property lbl() As Label
Get
Return m_Lbl
End Get
Set(ByVal Value As Label)
m_Lbl = Value
End Set
End Property

Sub New(ByVal lbl As Label)
Me.m_Lbl = m_Lbl
End Sub

End Class

Public Class FrmDDL
Inherits DropDownList
Private m_DDL As DropDownList

Public Property DDL() As DropDownList
Get
Return m_DDL
End Get
Set(ByVal Value As DropDownList)
m_DDL = Value
End Set
End Property

Sub New(ByVal DDL As DropDownList)
Me.m_DDL = m_DDL
End Sub

End Class

Public Class FrmTxt
Inherits HtmlInputText
Private m_DDL As HtmlInputText

Public Property DDL() As HtmlInputText
Get
Return m_DDL
End Get
Set(ByVal Value As HtmlInputText)
m_DDL = Value
End Set
End Property

Sub New(ByVal DDL As HtmlInputText)
Me.m_DDL = m_DDL
End Sub

End Class

Public Class FormDictionary
Inherits DictionaryBase

Sub add(ByVal key As String, ByVal D As Object)
Me.Dictionary.Add(key, D)
End Sub

Sub remove(ByVal key As String)
Me.Dictionary.Remove(key)
End Sub

Default Property item(ByVal key As String) As Object
Get
Return Me.Dictionary.Item(key)
End Get
Set(ByVal Value As Object)
Me.Dictionary.Item(key) = Value
End Set
End Property

Function contains(ByVal key As String) As Boolean
Return Me.Dictionary.Contains(key)
End Function
End Class

Basically the 3 types of objects i want to pass from my page into a function
defined in another class are label, htmlinputtext and dropdownlist.

and i have this code in my form

For Each ctrl In pnlForm.Controls
If TypeOf ctrl Is HtmlInputText Then
frmDict.add(ctrl.ID, New FrmTxt(CType(ctrl,
HtmlInputText)))
End If
If TypeOf ctrl Is Label And ctrl.ID <"" Then
frmDict.add(ctrl.ID, New FrmLabels(CType(ctrl,
Label)))
End If
If TypeOf ctrl Is DropDownList Then
frmDict.add(ctrl.ID, New FrmDDL(CType(ctrl,
DropDownList)))
End If
If TypeOf ctrl Is suppliersList Then
frmDict.add(ctrl.ID, ctrl)
End If
Next

This adds each of the objects into the dictionary however i cant get the ID.
I am using the syntax ctype(frmdict.item("lblReqBy"), label).ID but it
returns nothing.

I have a web user control on their (SuppliersList) which contains a
dropdownlist, i haven't created a class for this as its only on the page
once, if i use the following syntax

ctype(frmdict.item("Suppliers1"), suppliersList).Controls.Item(0).ID

It gives me the ID of the dropdownlist. Can anyone help me out as to why I
can't access the ID property of the controls. Basically I will populate the
text property, selectedvalue property in a function i am writing and modify
the page appropriately, the reason i am doing this is because the same
routine is used on two of my pages and i only want to write it once and stick
it in a class.

TIA
Jul 5 '06 #1
Share this Question
Share on Google+
1 Reply


P: n/a
Hi i have played around with it this morning and noticed that each of the sub
new in the class was wrong so i changed it to read me.m_lbl = lbl. However i
still had the same issues described

Sub New(ByVal lbl As Label)
Me.m_Lbl = m_Lbl
End Sub

i also changed my for next loop to read

For Each ctrl In pnlForm.Controls
If TypeOf ctrl Is HtmlInputText Then
frmDict.add(ctrl.ID, ctrl)
End If
If TypeOf ctrl Is Label And ctrl.ID <"" Then
frmDict.add(ctrl.ID, ctrl)
End If
If TypeOf ctrl Is DropDownList Then
frmDict.add(ctrl.ID, ctrl)
End If
If TypeOf ctrl Is suppliersList Then
frmDict.add(ctrl.ID, ctrl)
End If
Next

This appears to be working ok, run a few tests in the immediate window. In
my vb.net book it says to create classes like i have done and add them to a
dictionary or collection object. I think the idea is to create early bound
objects i remember something about how it would operate faster, although
there must be something wrong in what i have written so far.

TIA

"steven scaife" wrote:
Hi I have created a class that inherits from dictionarybase code below.

Public Class FrmLabels
Inherits Label
Private m_Lbl As Label

Public Property lbl() As Label
Get
Return m_Lbl
End Get
Set(ByVal Value As Label)
m_Lbl = Value
End Set
End Property

Sub New(ByVal lbl As Label)
Me.m_Lbl = m_Lbl
End Sub

End Class

Public Class FrmDDL
Inherits DropDownList
Private m_DDL As DropDownList

Public Property DDL() As DropDownList
Get
Return m_DDL
End Get
Set(ByVal Value As DropDownList)
m_DDL = Value
End Set
End Property

Sub New(ByVal DDL As DropDownList)
Me.m_DDL = m_DDL
End Sub

End Class

Public Class FrmTxt
Inherits HtmlInputText
Private m_DDL As HtmlInputText

Public Property DDL() As HtmlInputText
Get
Return m_DDL
End Get
Set(ByVal Value As HtmlInputText)
m_DDL = Value
End Set
End Property

Sub New(ByVal DDL As HtmlInputText)
Me.m_DDL = m_DDL
End Sub

End Class

Public Class FormDictionary
Inherits DictionaryBase

Sub add(ByVal key As String, ByVal D As Object)
Me.Dictionary.Add(key, D)
End Sub

Sub remove(ByVal key As String)
Me.Dictionary.Remove(key)
End Sub

Default Property item(ByVal key As String) As Object
Get
Return Me.Dictionary.Item(key)
End Get
Set(ByVal Value As Object)
Me.Dictionary.Item(key) = Value
End Set
End Property

Function contains(ByVal key As String) As Boolean
Return Me.Dictionary.Contains(key)
End Function
End Class

Basically the 3 types of objects i want to pass from my page into a function
defined in another class are label, htmlinputtext and dropdownlist.

and i have this code in my form

For Each ctrl In pnlForm.Controls
If TypeOf ctrl Is HtmlInputText Then
frmDict.add(ctrl.ID, New FrmTxt(CType(ctrl,
HtmlInputText)))
End If
If TypeOf ctrl Is Label And ctrl.ID <"" Then
frmDict.add(ctrl.ID, New FrmLabels(CType(ctrl,
Label)))
End If
If TypeOf ctrl Is DropDownList Then
frmDict.add(ctrl.ID, New FrmDDL(CType(ctrl,
DropDownList)))
End If
If TypeOf ctrl Is suppliersList Then
frmDict.add(ctrl.ID, ctrl)
End If
Next

This adds each of the objects into the dictionary however i cant get the ID.
I am using the syntax ctype(frmdict.item("lblReqBy"), label).ID but it
returns nothing.

I have a web user control on their (SuppliersList) which contains a
dropdownlist, i haven't created a class for this as its only on the page
once, if i use the following syntax

ctype(frmdict.item("Suppliers1"), suppliersList).Controls.Item(0).ID

It gives me the ID of the dropdownlist. Can anyone help me out as to why I
can't access the ID property of the controls. Basically I will populate the
text property, selectedvalue property in a function i am writing and modify
the page appropriately, the reason i am doing this is because the same
routine is used on two of my pages and i only want to write it once and stick
it in a class.

TIA
Jul 6 '06 #2

This discussion thread is closed

Replies have been disabled for this discussion.