ich bin es leider nochmal!
Try
Dim Textbox1 As TextBox =
CType(PlaceHolder1.FindControl("Textbox_1"), TextBox)
textbox1.Enabled = True
Catch
Response.Write("Geht wieder nicht!")
End Try
ist daran schonwieder was falsch und wenn nein, warum geht er immer in den
catch-teil, ich glaub ich geb langsam bei der aufgabe auf, der will einfach net
so wie ich will :(
aber schonmal DANKE an alle, die es versucht hatten
Viele Grüße
André Popp
>-----Ursprüngliche Nachricht-----
>Von: [EMAIL PROTECTED]
>[mailto:[EMAIL PROTECTED] Im Auftrag von Popp Andre
>Gesendet: Freitag, 7. Oktober 2005 14:20
>An: [email protected]
>Betreff: AW: [Asp.net] per Codebehind Textboxen erzeugen, die
>man ansprechen kann
>
>Sorry, habe noch vergessen, des mit dem Literal zu erklären.
>Da soll über der Textbox ein Text stehen, der dann aber auch
>auf enabled gestellt werden kann, schließlich soll der
>Anwender nicht denken, dass plötzlich alles gelöscht ist ^^.
>Falls es sowas nicht gibt, dann mach ich es per response.write.
>
>@chris: bei mir geht es super ;)
>ich hab einfach an der Stelle im HTML-Code die Prozedur
>aufgerufen per "<% Gennerieren() %>" und mit "style" konnt ich
>es dann von links her einrücken.
>Aber da das Ansprechen der Textboxen ja so nicht klappt, hast
>du mit deiner Lösung vollkommen recht.
>
>und dann noch kurz ne Frage zu deinem Textbox ansprechen: kann
>man damit nur bestimmte Textboxen ansprechen, oder kann ich
>die irgendwie in eine Schleife packen, damit ich alle
>generierten ansprechen kann oder sind damit alle Textboxen im
>PlaceHolder gemeint?
>
>Viele Grüße
>André Popp
>
>
>-----Ursprüngliche Nachricht-----
>Von: [EMAIL PROTECTED]
>[mailto:[EMAIL PROTECTED] Im Auftrag von Christoph Cluss
>Gesendet: Freitag, 7. Oktober 2005 14:05
>An: [email protected]
>Betreff: AW: [Asp.net] per Codebehind Textboxen erzeugen, die
>man ansprechen kann
>
>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
>
>
>_______________________________________________
>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