creating labels and textboxes dynamically

monfu

Member
Joined
Jul 2, 2004
Messages
8
Location
Malta
Programming Experience
3-5
Dear All,

I am trying to create some labels and textboxes dynamically for an aspx.net web page using VB.NET

Basically what I want to do is, I have a table which has all the "pages" of my website in it, and I want to loop through that table and create a label and textbox for every entry i find.

At the moment, here is my code:-

Imports System.Configuration
Imports System.Data.OleDb
Imports System.Data.Common.DbDataRecord
Imports System.Web.UI.WebControls.Label
Imports System.Web.UI.WebControls.PlaceHolder
Imports System.Windows.Forms.Form

Public Class PagetitlesNew
Inherits System.Web.UI.Page

#Region " Web Form Designer Generated Code "

'This call is required by the Web Form Designer.
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

End Sub

'NOTE: The following placeholder declaration is required by the Web Form Designer.
'Do not delete or move it.
Private designerPlaceholderDeclaration As System.Object

Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: This method call is required by the Web Form Designer
'Do not modify it using the code editor.
InitializeComponent()
End Sub

#End Region

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Put user code to initialize the page here

If Not Me.IsPostBack Then
ConstructEditTable()
Else
ConstructEditTable()
End If
End Sub

Protected WithEvents Container As System.Web.UI.WebControls.PlaceHolder

Private Sub ConstructEditTable()

'Container.Controls.Add(New LiteralControl("<table>" & vbNewLine))

Dim comp As New Components

Dim i As Integer
Dim dst As New DataSet
Dim strSQL As String
strSQL = "SELECT * FROM updText "
dst = comp.get_dataset(strSQL)
'loop through this dataset
If dst.Tables(0).Rows.Count > 0 Then
For i = 0 To dst.Tables(0).Rows.Count - 1

With Container.Controls
Dim Title As String
Title = dst.Tables(0).Rows(i).Item("UpdTit").ToString()
.Add(New LiteralControl("<tr>" & vbNewLine))

'Label column
.Add(New LiteralControl("<td>" & vbNewLine))
Dim Label = New Label
Label.ID = "lbl" & Title
Label.Text = Title
Label.EnableViewState = True
.Add(Label)
.Add(New LiteralControl("</td>" & vbNewLine))

'Textbox column
.Add(New LiteralControl("<td>" & vbNewLine))
Dim txtTest = New TextBox
txtTest.ID = "txt" & Title
txtTest.Text = dst.Tables(0).Rows(i).Item("UpdPageTit").ToString()
txtTest.Width = Unit.Pixel(50)
txtTest.EnableViewState = True
.Add(txtTest)
.Add(New LiteralControl("</td>" & vbNewLine))
.Add(New LiteralControl("</tr>" & vbNewLine))
End With
Next
Container.Controls.Add(New LiteralControl("</table>" & vbNewLine))
End If
End Sub

End Class

However, when i try and run the project, I have the following error:-

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.


can you please help me out?

Thanks
 
Back
Top