Toon posts:

[ASP.NET] dynamic controls

Pagina: 1
Acties:

Verwijderd

Topicstarter
hallo,

ik probeer met asp.net (vb) wat controls dynamisch in mijn pagina te krijgen.

deze maak ik als volgt:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
        Dim text As New System.Web.UI.WebControls.TextBox

        text.ID = 1
        PlaceHolder1.Controls.Add(text)

        text = New System.Web.UI.WebControls.TextBox
        text.ID = 2
        PlaceHolder1.Controls.Add(text)

        Dim button As New System.Web.UI.WebControls.Button
        button.Text = "knop"

        AddHandler button.Click, AddressOf button2_click

        PlaceHolder1.Controls.Add(button)


in de function button2_click probeer ik deze weer uit te lezen met het id dat je niet weet hoeveel textboxen er zijn:
code:
1
2
3
4
5
6
7
8
9
10
Protected Sub button2_click(ByVal sender As Object, ByVal e As System.EventArgs)
        Dim i As Integer
        For i = 0 To PlaceHolder1.Controls.Count - 1
            Dim text2 As New TextBox
            If (PlaceHolder1.Controls( i ).ToString <> "System.Web.UI.WebControls.Button") Then
                text2 = PlaceHolder1.Controls( i )
                Label1.Text &= text2.Text
            End If
        Next
    End Sub


nu moet ik dus eerst de PlaceHolder1.Controls( i ) aan een object textbox toekennen voordat ik hem kan uitlezen.

Het werkt wel maar toch denk ik niet dat dit de manier is! 8)7
heeft iemand anders betere ideeën?

alvast bedankt
gr T

  • Daspeed
  • Registratie: Maart 2001
  • Laatst online: 21:32
Misschien dat je hier wat aan hebt (casting en dergelijke):
http://www.codeproject.com/dotnet/CheatSheetCastingNET.asp

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 14:52

gorgi_19

Kruimeltjes zijn weer op :9

Dit gaat niet werken zoals je denkt; dynamisch controls toevoegen vereist dat je ZELF je controlcollection bij iedere request op orde brengt; oftewel bij iedere pageload zal je dan die controls moeten toevoegen. :) Je kan de querystring hiervoor misbruiken en bijvoorbeeld in de page_init eea regelen (of CreateChildControls overriden)

Digitaal onderwijsmateriaal, leermateriaal voor hbo