Hallo Andre,

wenn ich das richtig sehe ... viel zu kompliziert und auch nicht .NET

Response.write ist ASP und macht man so (möglichst) nicht mehr.

Ich verstehe nicht ganz Dein Problem aber hier ein Ansatz wie man
das macht:

setzte einen Palceholder ain Deine Seite
  For i As Integer = 0 To 9 'z.B.
            If i > 0 Then
                Dim l As New Literal
                l.Text = "<br />"
                PlaceHolder1.Controls.Add(l)
            End If
            Dim x As New Textbox
            x.Text = "blba blan"
            x.enabled  = False
            x.ID = "Textbox_" & I
            PlaceHolder1.Controls.Add(x)

    Next

nach dem Postback(klick auf button) kannst Du dann die Textboxen
auswerten oder nochmal nach der Generierung bearbeiten:

        For Each ctl As Control In PlaceHolder1.Controls
            If ctl.GetType Is GetType(TextBox) Then
                Dim textbox1 As TextBox = CType(ctl, TextBox)

                ' und hier ist die Textbox für die Auswertug
                Response.Write(textbox1.Text)
            End If
        Next

Gruß, Chris



> -----Ursprüngliche Nachricht-----
> Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> Auftrag von Popp Andre
> Gesendet: Freitag, 7. Oktober 2005 11:59
> An: asp.net@glengamoi.com
> Betreff: [Asp.net] per Codebehind Textboxen erzeugen, die man ansprechen
> kann
>
>
> Hi,
>
> ich bin neu hier und hoffe mal, dass ich endlich was gutes zu asp.net 
> gefunden hab ;-)
>
> Es geht um folgendes:
>
> Ich generiere per Response.Write ("<input....>") ein Eingabefeld in einer 
> For-Schleife und gebe mit dem Counter
> entsprechend eine eindeutige ID mit.
> Da diese For-Schleife nun soviele Textboxen generiert, die vorher in ein 
> Eingabefeld angegeben wurde (z.B. 3
> hineingeschrieben und per Methodenaufruf dann 3 per For-Schleife neue 
> generiert).
> Nun will ich aber, dass diese neu generierten Eingabefelder mit mit der 
> entsprechenden Checkbox (aktiv-inaktiv) auf
> Enabled = true bzw. false gesetzt wird. Da ich aber nicht im Vorfeld weiss, 
> wieviele generiert werden, weiss ich nicht,
> wie ich dass nun mit der ID hinbekomme, da ich doch folgendermassen zugreifen 
> muss:
>
> Eingabefeld0.Enabled = true
> Eingabefeld1.Enabled = true
> ...
>
> Habe erste Versuche den ID-Namen mit ner For-Schleife zu erstellen versucht, 
> aber leider hab ich keine Ahnung wie ich des
> nun richtig hinbekomme.
>
>
> Also, falls einer die Lösung zu meinem Problem kennt, wäre ich sehr dankbar, 
> wenn er sie mir schreiben könnte.
> Natürlich stehe ich für weitere Fragen gerne zur Verfügung.
>
> und hier noch mit code, zum nachvollziehen:
>
>     Sub GruppenGen()
>         Try
>             Dim j As Integer
>             For j = 0 To Convert.ToInt16(Textbox12.Text) - 1
>                 Response.Write("<span 
> style='margin-left:25px'>Gruppenmitglied </span>" & j + 1 & ":")
>                 Response.Write("<span style='margin-left:25px'>Vorname: 
> </span>")
>                 Response.Write("<Input Type='text' id='gruppeVorname" & j & 
> "' width='20' height='30' />")
>                 Response.Write("<span style='margin-left:70px'>Nachname: 
> </span>")
>                 Response.Write("<Input Type='text' id='gruppeNachname" & j & 
> "' width='20' height='30' />")
>             Next
>         Catch
>             Response.Write(" ")
>         End Try
>
>         'Dim arrTextBoxes As TextBox()
>         'For i As Int16 = 0 To Convert.ToInt16(Textbox12.Text) - 1
>         '    ReDim Preserve arrTextBoxes(Convert.ToInt16(Textbox12.Text) - 1)
>         '    arrTextBoxes(i) = New TextBox
>     End Sub
>
> das ist die Methode, die die Textboxen erzeugen soll (in Kommentar steht ein 
> Lösungspost von einem Forum, aber ich
> versteh den nicht wirklich, bzw. konnte denn nicht passend verwenden)
>
> das Convert.ToInt16(Textbox12.Text)-1 soll einfach aus einer voherigen 
> Textbox die Zahl nehmen, wie oft sie generiert werden soll.
>
> Die Textbox mit der Textboxanzahl hab ich wie folgt auf falsche Eingaben 
> überprüfen lassen:
>
>     Private Sub Textbox12_TextChanged(ByVal sender As System.Object, ByVal e 
> As System.EventArgs) Handles Textbox12.TextChanged
>         Try
>             If Convert.ToInt16(Textbox12.Text) >= 1 AndAlso 
> Convert.ToInt16(Textbox12.Text) <= 99 Then
>                 gruppenErr.Text = "Sie haben es geschafft!"
>             Else
>                 gruppenErr.Text = "Bitte geben Sie eine Zahl von 1 bis 99 
> ein!"
>             End If
>         Catch
>             gruppenErr.Text = "Bitte geben Sie eine Zahl von 1 bis 99 ein!"
>         End Try
>
>     End Sub
>
>
>
> Vielen Dank im voraus!
>
> Viele Grüße
> André Popp
> _______________________________________________
> Asp.net Mailingliste, Postings senden an:
> Asp.net@glengamoi.com
> An-/Abmeldung und Suchfunktion unter:
> http://www.glengamoi.com/mailman/listinfo/asp.net

_______________________________________________
Asp.net Mailingliste, Postings senden an:
Asp.net@glengamoi.com
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net

Antwort per Email an