Dynamically writing a <BR> in a panel or placeholder

C

CoreyMas

Hello everyone,

I am in a bit of a dilema trying to write an HTML <br> tag into a panel or
placeholder.

Here is the situation

I have 4 tables that represent 4 levels of data (level4 is linked to a
level3 etc) all the way up to a level 1

Example

Level1
Level2a
Level2b
Level3a
Level3B
Level4a
Level4b
Level2c


I am using a datalist to contain these 4 levels, but I want to recreate a
tree like structure so that the user can easily see what level2's are in a
level1 as well as select a particular level to see its details.

The link buttons work fine but I am unable to get the levels to look right.
So I looked at trying to add a BR tag at the end of each level but it does
not seem to be working.

This is the result that I am getting:

Level1Level2aLevel........

When I look at the View Source on the web page the <br> tags are NOT there.

What am I doing wrong?

I thought about trying to use HtmlTextWriter, but I have NO idea how that
works and the examples in VS are not very explicit.

Any help would be much appreciated... I am even open to other ways to create
this tree like structure.

BTW - I am using VS 2003.

Here is the code that I have created so far for my datalist itemdatabound:

Private Sub dlstMaster_ItemDataBound(ByVal sender As Object, ByVal e As
System.Web.UI.WebControls.DataListItemEventArgs) Handles
dlstMaster.ItemDataBound
Dim dv As DataRowView = e.Item.DataItem
Dim spacer As New LiteralControl("<br>")
Dim level1linkbutton As New LinkButton
Dim level1panel As PlaceHolder = e.Item.FindControl("Level1Panel")
level1linkbutton.Text = dv("Level1Name")
level1linkbutton.CommandArgument = dv("Level1Id").ToString
level1linkbutton.CommandName = "Level1Click"
level1panel.Controls.Add(level1linkbutton)
level1panel.Controls.Add(spacer)
Dim ds As New DataSet
ds = Session("ds")
If Not dv Is Nothing Then
Dim level2dv As DataView
level2dv = dv.CreateChildView("level2")
Dim row As DataRowView
For Each row In level2dv
Dim level2linkbutton As New LinkButton
level2linkbutton.Text = row("Level2Name")
level2linkbutton.CommandArgument = row("Level2Id").ToString
level2linkbutton.CommandName = "Level2Click"

level1panel.Controls.Add(level2linkbutton)
level1panel.Controls.Add(spacer)
' Now loop through the level 3 details
Dim level3dv As DataView
level3dv = New DataView(ds.Tables("AllLevel3"), "Level2Id =
'" & row("Level2Id").ToString & "'", "Level3Name",
DataViewRowState.CurrentRows)
Dim level3row As DataRowView
For Each level3row In level3dv
Dim level3linkbutton As New LinkButton
level3linkbutton.Text = level3row("Level3Name")
level3linkbutton.CommandArgument =
level3row("Level3Id").ToString
level3linkbutton.CommandName = "Level3Click"
level1panel.Controls.Add(level3linkbutton)
level1panel.Controls.Add(spacer)
' now get the level 4's
Dim level4dv As DataView
level4dv = New DataView(ds.Tables("AllLevel4"),
"Level3Id = '" & level3row("Level3Id").ToString & "'", "Level4Name",
DataViewRowState.CurrentRows)
Dim level4row As DataRowView
For Each level4row In level4dv
Dim level4linkbutton As New LinkButton
level4linkbutton.Text = level4row("Level4Name")
level4linkbutton.CommandArgument =
level4row("Level4Id").ToString
level4linkbutton.CommandName = "Level4Click"
level1panel.Controls.Add(level4linkbutton)
level1panel.Controls.Add(spacer)
Next
Next
Next
End If
End Sub

The problem is that when I add the spacer control (a literal control with
the BR in it) it is not added into the placeholder. I have tried to use a
panel, with the same effect
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,768
Messages
2,569,574
Members
45,051
Latest member
CarleyMcCr

Latest Threads

Top