ja, das x declarierst Du ja nur innerhalb der Schleife... dannach ist es
weg.

Du kannst aber mit:
dim Textbox1 as textbox=ctype(placeholder1.findcontrol("Textbox_1"),Textbox)
aus einer anderen Function wieder drauf zugreifen.


Response.write ist nautürlich ok... aber gibt ja alles am anfang der Seite aus
=> du mußt die ganze Seite so zusammen bauen...
Des willl man aber net, gell?

Das Literal hat zwar keine enabled Eigenschaft aber dafür visible
=> du kannst es unsichtbar machen wenn Du den Zeilenumbruch nicht brauchst.

Aller Anfang ist eben schwer.

Gruß, chris


> -----Ursprüngliche Nachricht-----
> Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> Auftrag von Popp Andre
> Gesendet: Freitag, 7. Oktober 2005 13:36
> An: [email protected]
> Betreff: AW: [Asp.net] per Codebehind Textboxen erzeugen, die man
> ansprechen kann
>
>
> Erstmal: Danke Chris
>
> Dass ich einiges kompliziert mach, muss ich leider in Kauf nehmen, da ich mir 
> die Sprache zur Zeit selbst aneigne und
> noch nicht wirklich was gutes zum lernen gefunden habe.
> Die Bücher, die ich hab nehmen halt auch "response.write" (vll. nicht gute 
> Bücher :(  )
>
> Ich erklär am besten nochmal das Problem:
> Ich habe ein Formular, in dem man per Checkbox anklicken kann, ob es von 
> einer Gruppe erarbeitet wurde oder nicht (Ja/Nein).
> Per Chexbox_Click Event setzt ich dann ein die Felder für die Gruppe auf 
> "true" oder "false" (enabled).
> Mein Problem in meinem Code lag darin, dass ich die Methoden nicht mit meiner 
> generierten ID ansprechen konnte, um ihren
> "enabled" Status zu ändern.
>
> Das generierten der Textboxen von Chris klappt super, wobei ich noch ein paar 
> - ich nenne es mal Folgeprobleme - habe:
> Gibt es ein Äquivalent zu dem "Literal", dass auch die 
> "enabled"-Eigenschaften hat?
> Wie kann ich in einer anderen Methode auf das "x" von der Textbox zugreifen, 
> da er immer ausgibt ich hätte es nicht
> deklariert (geschieht alles noch auf der selben Seite)?
>
> Ich entschuldige mich, falls ich einfach nur vor einer Wand bei diesem 
> Problem sitzt.
>
>
> Viele Grüße
> André Popp
>
>
> -----Ursprüngliche Nachricht-----
> Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im Auftrag von Christoph 
> Cluss
> Gesendet: Freitag, 7. Oktober 2005 12:34
> An: [email protected]
> Betreff: AW: [Asp.net] per Codebehind Textboxen erzeugen, die man ansprechen 
> kann
>
> 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: [email protected]
> > 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:
> > [email protected]
> > An-/Abmeldung und Suchfunktion unter:
> > http://www.glengamoi.com/mailman/listinfo/asp.net
>
> _______________________________________________
> Asp.net Mailingliste, Postings senden an:
> [email protected]
> An-/Abmeldung und Suchfunktion unter:
> http://www.glengamoi.com/mailman/listinfo/asp.net
>
>
> _______________________________________________
> Asp.net Mailingliste, Postings senden an:
> [email protected]
> An-/Abmeldung und Suchfunktion unter:
> http://www.glengamoi.com/mailman/listinfo/asp.net

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

Antwort per Email an