Goedemiddag,
Heb hier een relatief simpel formulier, waarbij je in mijn ogen de ingevoerde waardes ook simpel uit kan halen.
Het betreft hier een Repeater, met daarin 6 TextBoxen. Deze wordt 4 x gerepeat. (met een DataTable)
Dit form wordt ingevuld, en vervolgens met een Submit in een DB gezet.
Nu zit ik me alleen rot te verzinnen over hoe je dit het makkelijkste kan doen.
Bijvoorbeeld:
N.b.: ConvertRepeaterItemToString doet niets anders als de waarde uit de TextBox("txtDatum") teruggeven als string.
Bovenstaande is leuk en aardig, alleen krijg ik het idee dat dit simpeler kan. Even zitten stoeien en kwam tot de volgende code:
Leuk... maar toch niet helemaal. Je kan hier niet de de overige variables (in 1e voorbeeld bijv. omschrijving) vullen. Tenzij je boekingsdatum aanmaakt als een ArrayList oid.
2e vraag is: hoe stop ik met loopen als ik erachter kom dat de andere regels uit de repeater leeg zijn?
Zit ik het nu helemaal verkeerd te doen? Zo ja, wat doe ik dan verkeerd?
Heb hier een relatief simpel formulier, waarbij je in mijn ogen de ingevoerde waardes ook simpel uit kan halen.
Het betreft hier een Repeater, met daarin 6 TextBoxen. Deze wordt 4 x gerepeat. (met een DataTable)
Dit form wordt ingevuld, en vervolgens met een Submit in een DB gezet.
Nu zit ik me alleen rot te verzinnen over hoe je dit het makkelijkste kan doen.
Bijvoorbeeld:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
| foreach(RepeaterItem r_Item in repFormItems.Controls) { if(r_Item.FindControl("txtDatum") is System.Web.UI.WebControls.TextBox) { boekingsdatum = ConvertRepeaterItemtoString(r_Item, "txtDatum"); } if(r_Item.FindControl("txtOmschrijving") is System.Web.UI.WebControls.TextBox) { omschrijving = ConvertRepeaterItemtoString(r_Item, "txtOmschrijving"); } //dit loopt door totaan de andere 4 TextBox in 1 repeater row } |
N.b.: ConvertRepeaterItemToString doet niets anders als de waarde uit de TextBox("txtDatum") teruggeven als string.
Bovenstaande is leuk en aardig, alleen krijg ik het idee dat dit simpeler kan. Even zitten stoeien en kwam tot de volgende code:
C#:
1
2
3
4
5
6
7
8
9
10
| foreach(RepeaterItem r_Item in repFormItems.Controls) { foreach(Control childc in r_Item.Controls) { if(childc is TextBox) { boekingsdatum = (((TextBox)childc).Text); } } } |
Leuk... maar toch niet helemaal. Je kan hier niet de de overige variables (in 1e voorbeeld bijv. omschrijving) vullen. Tenzij je boekingsdatum aanmaakt als een ArrayList oid.
2e vraag is: hoe stop ik met loopen als ik erachter kom dat de andere regels uit de repeater leeg zijn?
Zit ik het nu helemaal verkeerd te doen? Zo ja, wat doe ik dan verkeerd?
Heart..pumps blood.Has nothing to do with emotion! Bored