webForumDet fria alternativet

Loop i vb.net, få rätt textboxvärde

.NET

4 svar · 246 visningar · startad av erka

Medlem sedan dec. 19996 522 inlägg
Frågan#1

Hej!

En enkel fråga..Om man har en loop ser ut på detta sätt

For i = 0 To i = 5

Next

På varje position har jag en motsvarade textbox vars värde jag ska kolla av, är jag på position i=0 i loopen ska jag kolla värdet i txtBox0, är jag på i=2 ska jag kolla värdet i txtBox2, typ så här

For i = 0 To i = 5
  myValue = txtBoxSvar"& i &".Text
  Response.Write(myValue) &"<br>"
Next

Men så kan man tydligen inte skriva :(, så min fråga är, hur skriver man :) Är för insurrniad på vbscript just nu tror jag

Tacksam

Medlem sedan maj 2001329 inlägg
#2

Nått liknande med

TextBox txtbox = (TextBox)Page.Controls.FindControl("txtBoxSvar"+i);
Response.Write(txtbox.Text);

Ber om ursäkt för att jag skriver i C# och inte har testat koden heller, men i princip ska det funka.

Medlem sedan dec. 19996 522 inlägg
#3

Tack grynet.

Får det inte att fungera. Glömde skriva att loopen körs när man klickar på en imagebutton kontroll och själva textboxarna ligger innuti en panel kontroll som heter Panel1, antar att man ska gå genom panelnamnet och ByVal s As Object i subben för att hitta rätt, men jag lyckas inte.

Medlem sedan dec. 19996 522 inlägg
#4

Jag har nu

Sub BtnClick_InsertQuizz(ByVal s As Object, ByVal e As ImageClickEventArgs)
	Dim i As Integer
	Dim txtBoxSvarValue As String
	
	For i = 0 To i = 5
		Dim iValue As Integer = i + 1
		Dim myTxtBox As Textbox = CType(s.Findcontrol("txtBoxSvar"+iValue), Textbox)
		txtBoxSvarValue = myTxtBox.Text
		Response.Write(txtBoxSvarValue)
	Next
	
End Sub

och får felmeddelandet :
Exception Details: System.FormatException: Input string was not in a correct format.

på raden där jag använder findcontrol

skriver jag
CType(s.Findcontrol("txtBoxSvar1), Textbox)
istället för
CType(s.Findcontrol("txtBoxSvar"+iValue), Textbox)
så fungerar det,men vad är fel på
CType(s.Findcontrol("txtBoxSvar"+iValue), Textbox)

Någon som kanske har en susning

Medlem sedan dec. 2000399 inlägg
#5

Prova det här (i VB konkatenerar man med &, tror jag):

CType(s.Findcontrol("txtBoxSvar" & iValue), Textbox)
248 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)