meiseed
Goto Top

Hab ein Problem mit Wert übergabe einer Variable

HI @ ALL


Ich hab da ein Problem mit der Übergabe eines Wertes aus einer TextBox.
Ich programiere mit asp.net code VB

hier mal der code

Seite 1.

Protected Sub Senden_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Senden.Click
Dim strvar1 = "5"
Session("test") = strvar1
Response.Redirect("Default4.aspx")
End Sub


und hier Seite 2.

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Text1.Text = Session("test")

End Sub


und mein problem ist das wenn ich auf die Seite 2. gehe das ich nur die 5 ausgegben bekomme und nicht was ich in die TextBox reinschreibe.

Gruß
MeiSeed

Content-ID: 68585

Url: https://administrator.de/contentid/68585

Ausgedruckt am: 22.11.2024 um 17:11 Uhr

Kosh
Kosh 13.09.2007 um 12:00:30 Uhr
Goto Top
If not Page.IsPostback then

Text1.Text = Session("test")  

End If

jede aktualisierung der seite zB klicken auf ok, führt einen postback durch wodurch das page.load event gefeuert wird. in diesem event schreibst du aber wieder die 5 rein.
MeiSeed
MeiSeed 13.09.2007 um 12:28:59 Uhr
Goto Top
Ja aber ich will ja nicht die 5 reinschreiben sondern wenn ich z.B. einen namen in die TextBox reinschreibe das der dann auf der Seite 2. ausgegeben wird.

So soll es sein

Ich schreibe in die TextBox = Hans drücke dann senden und auf der zweiten Seite soll dann anstatt der 5 dann Hans angezeigt werden.

PS:

Die id von der TextBox ist 5
Kosh
Kosh 13.09.2007 um 12:38:34 Uhr
Goto Top
achsooooo.

dann ist der code aber völlig daneben.

Seite 1.

Protected Sub Senden_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Senden.Click
Dim strvar1 = Text1.Text
Session("test") = strvar1  
Response.Redirect("Default4.aspx")  
End Sub

Seite 2. 

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If not Page.IsPostback then

Text2.Text = Session("test")  

End If

End Sub
MeiSeed
MeiSeed 13.09.2007 um 14:15:41 Uhr
Goto Top
Danke dir es geht.

Jetzt hab ich noch eine frage wenn ich jetzt auf senden klicke und die TextBox leer ist, wie mach ich dann es damit ich nicht auf die Seite 2 geleitet werde
Kosh
Kosh 13.09.2007 um 14:27:16 Uhr
Goto Top
variante 1: (eleganter)
If Text1.Text.Lenght <> 0
Response.Redirect("Default4.aspx")  
End If

variante 2:
If Text1.Text <> ""  
Response.Redirect("Default4.aspx")  
End If
MeiSeed
MeiSeed 13.09.2007 um 14:52:18 Uhr
Goto Top
Danke dir


Noch eine kleine frage wie kann ich aus einer DataList die TextBox deklarieren.

Weil wenn ich die ID von der TextBox aus der DataList angebe dann kann er sie nicht finden.

Kann es daran liegen das er die nicht findet weil die DataList erst durch eine angabe angezeigt wird und vorher nicht sichtbar ist.
Kosh
Kosh 13.09.2007 um 14:55:55 Uhr
Goto Top
hmm. ich glaub da versteh ich dein problem nicht....
MeiSeed
MeiSeed 13.09.2007 um 15:12:44 Uhr
Goto Top
ok das leuft so ab.

1. TextBox1 = wert eintragen
2. Button Drücken
3. In der DataList wird in die TextBox2 dann ein wert aus der DB ausgegeben
4. Dann Drücke ich den Senden Button.

Und ich will jetzt den Wert der jetzt in der TextBox von der DataList angezeigt wird denn rüber senden.
Oder den Wert aus der TextBox2 Kopieren und wenn ich dann auf Senden Klicke das er erst in eine weiter TextBox3 eingetragen wird und dann gesendet.
Kosh
Kosh 13.09.2007 um 15:21:27 Uhr
Goto Top
die textbox in der datalist erreichst du folgendermassen:

Dim tbText1 As TextBox = CType(DataList1.Items(IndexInInteger).FindControl("Textboxname"), TextBox)  

Dann kannst du das Teil mit tbText1.Text befüllen oder wasauchimmer.

Hier mal etwas lesestoff:
http://msdn2.microsoft.com/en-us/library/90xwe9s3.aspx
MeiSeed
MeiSeed 13.09.2007 um 15:35:08 Uhr
Goto Top
Danke für die hilfe.
Hab es ein wenig anderes gemacht.