Ik heb een pagina met daarop 3x dezeflde user control.
Deze user control bevat verschillende validators.
Het probleem is dat bij het drukken op de knop alleen de validators van de desbetreffende user control moeten afgaan.
Nu wil ik dit oplossen met behulp van de validationgroup. Bij het renderen van de html van de user control doe ik het volgende:
Dit werkt redelijk. Alleen op het moment dat ik bijvoorbeeld bij het drukken op de knop ook serverside ga valideren, dan zijn de validationgroups niet gewijzigd, dus dan werkt het niet.
Logisch, want de validatie op de server gebeurd voordat de html wordt gerenderd volgens mij.
Hoe kan ik dit oplossen. Is er niet een mogelijkheid om in de html van de user control iets te zetten in de trend van:
validationgroup = this.UniqueID
Deze user control bevat verschillende validators.
Het probleem is dat bij het drukken op de knop alleen de validators van de desbetreffende user control moeten afgaan.
Nu wil ik dit oplossen met behulp van de validationgroup. Bij het renderen van de html van de user control doe ik het volgende:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
| foreach (TableCell c in GridViewWeekstaat.FooterRow.Cells) { foreach (Control ctrl in c.Controls) { if (ctrl is RequiredFieldValidator) { ((RequiredFieldValidator)ctrl).ValidationGroup = this.UniqueID + "Footer"; } if (ctrl is RangeValidator) { ((RangeValidator)ctrl).ValidationGroup = this.UniqueID + "Footer"; } if (ctrl is RegularExpressionValidator) { ((RegularExpressionValidator)ctrl).ValidationGroup = this.UniqueID + "Footer"; } if (ctrl is CompareValidator) { ((CompareValidator)ctrl).ValidationGroup = this.UniqueID + "Footer"; } if (ctrl is CustomValidator) { ((CustomValidator)ctrl).ValidationGroup = this.UniqueID + "Footer"; } if (ctrl is Button) { ((Button)ctrl).ValidationGroup = this.UniqueID + "Footer"; } |
Dit werkt redelijk. Alleen op het moment dat ik bijvoorbeeld bij het drukken op de knop ook serverside ga valideren, dan zijn de validationgroups niet gewijzigd, dus dan werkt het niet.
Logisch, want de validatie op de server gebeurd voordat de html wordt gerenderd volgens mij.
Hoe kan ik dit oplossen. Is er niet een mogelijkheid om in de html van de user control iets te zetten in de trend van:
validationgroup = this.UniqueID