Instead of trying to loop through them on the front end code, I would recommend using a panel and adding the controls to that.
First you would create your panel:
<form id="form1" runat="server">
<ASP:Panel Runat="server" ID="Panel1" />
</form>
Then on the code behind, you would create your links dynamically and add them to that panel:
For index As Integer = 1 To 10
Dim lk As New LinkButton
lk.ID = index
lk.Text = index
Panel1.Controls.Add(lk)
Next
If you need to wire events up to each link, you would use the AddHandler and attach the proper sub:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
For index As Integer = 1 To 10
Dim lk As New LinkButton
lk.ID = index
lk.Text = index
AddHandler lk.Click, AddressOf DoSomething
Panel1.Controls.Add(lk)
Next
End Sub
Sub DoSomething(ByVal sender As Object, ByVal e As EventArgs)
'Handle click here
End Sub
To resolve the issue with a line break, simple create a label with a <br> tag in it:
For index As Integer = 1 To 10
Dim lk As New LinkButton
lk.ID = index
lk.Text = index
AddHandler lk.Click, AddressOf DoSomething
Panel1.Controls.Add(lk)
Dim lbl as new label
lbl.text = "<br>"
Panel1.Controls.Add(lbl)
Next