Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[asp.net] int check op meerdere textbox controls

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik zou een 70-tal textboxen moeten checken op integer waarde. Nu zijn deze textbox1, textbox2, ... genaamd. Dus dacht ik om deze met een loop van string waarden te doorlopen zodat je steeds een string hebt met "textbox1", "textbox2", ...

Maar dan kom je op het probleem om die string waarde te gebruiken om de juiste textbox control op te roepen en te gebruiken om de waardes te verwerken.

Samengevat: string -> textbox control

Dit is wel een omslachtige manier en misschien weten jullie wel hoe dit te doen of een andere manier om 70 textboxen te checken op integer waarden.

  • Nvidiot
  • Registratie: Mei 2003
  • Laatst online: 03-06 16:38

Nvidiot

notepad!

Kun je die textbox controls niet in een control array mikken? Dan krijg je dus iets van textbox[0], textbox[1] etc.
Anders heeft asp.net misschien ook een control collection per form waar je doorheen kunt loopen dacht ik

What a caterpillar calls the end, the rest of the world calls a butterfly. (Lao-Tze)


  • urk_forever
  • Registratie: Juni 2001
  • Laatst online: 19-11 14:59
C#:
1
2
3
for (int i = 1; i <= 70; i++) {
  Messagebox.Show((Textbox)FindControl("textbox" + i.ToString()).Text);
}


Zoiets zou moeten werken.

C# trouwens, maar voor VB.Net moet zoiets wel aan te passen zijn lijkt mij.

[ Voor 22% gewijzigd door urk_forever op 28-02-2008 22:46 . Reden: ff de .Text toegevoegd. ]

Hail to the king baby!


Verwijderd

Topicstarter
SOLVED


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
        Dim textCon As System.Web.UI.WebControls.TextBox

        Dim check1 As Boolean

        check1 = True

        For i As Integer = 1 To 75

            textCon = Form.FindControl("textBox" & i)

            If Not IsNumeric(textCon.Text) Then

                check1 = False

            End If

        Next

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 23:37

TeeDee

CQB 241

En als je er nu een textBox aan toevoegt met als id "ditIsEenAndereTextBox" en dit nog een stuk of 10 keer? Ga je dan de hele reutel aanpassen en compilen?

Je kan beter de ControlCollection door loopen, casten naar een TextBox om vervolgens te checken op IsNumeric.

Heart..pumps blood.Has nothing to do with emotion! Bored


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
En daarbij geeft IsNumeric (uit de blote bol althans) ook True op 1.5, 1e3 en andere 'enge' dingen. Kijk dan beter naar Int.Parse en Int.TryParse

[ Voor 58% gewijzigd door RobIII op 29-02-2008 18:37 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Ben het eens met TeeDee. Dit werkt meteen niet meer als de namen van textboxen veranderen. Je kunt veel beter een tag geven (Tag property) aan alle controls die je wilt checken. Je loopt dan door de collection met controls, kijkt naar de Tag en type, en je cast naar TextBox. Veel flexibeler. En idd, IsNumeric is niet de ideale manier. Zie "How to: Determine Whether a String Contains a Numeric Value (C# Programming Guide)".

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 23:37

TeeDee

CQB 241

Als we dan toch bezig zijn: kijk ook eens of je per textBox al niet het e.e.a. kan valideren middels een RegularExpression validator.

Heart..pumps blood.Has nothing to do with emotion! Bored

Pagina: 1