|
|
|
| /* Edition Française */ |
| « Je te jure, ca bippe sans raison | C++++ » |
Michelle fût engagée par une société éditrice de logiciel pour "nettoyer" une application ASP.net qu'ils avaient développés/maintenus pendant les quatre années passées. Beaucoup des anciens membres de l'équipe étaient délogés non sans mal de leur paisible eden appelé VB6 pour utiliser de nouveaux concept démoniaque comme l'"Objet", aussi je vous laisse imaginer l'état du code. Rien n'est unique concernant la qualité (ou la non qualité) de ce magnifique morceau de code, mais ce sont les commentaires accompagnant le code qui inspira Michelle à me l'envoyer, er moi à le poster.
'De quoi devenir O.O. !!!
'Tu va ADORER ce .net. Maintenant je dois *SAVOIR* si c'est
'une option ou un checkbox. Tous deux on une propriété checked
'mais bien sur ctrl.checked = True serait juste TROOOOP dur
'pour toi .net.
For Each ctrl In Controls
Select Case ctrl.ToString
Case "System.Web.UI.LiteralControl"
'only looking for Check/Radios -- not these
Case "System.Web.UI.ResourceBasedLiteralControl"
'same
Case Else
strCtrlId = Trim(ctrl.ID.ToString)
'Is the current control the one I want?
If LCase(strCtrlId) = LCase(Trim(strCheckedControl)) Then
'It is a checkbox, so check it
If InStr(strCtrlId, "chk") = 1 Then
Dim chkTemp As CheckBox = CType(ctrl, CheckBox)
chkTemp.Checked = True
Exit For
'It is a radio, so ... *gasp* ... check it!
ElseIf InStr(strCtrlId, "opt") = 1 Then
Dim optTemp As RadioButton = CType(ctrl, RadioButton)
optTemp.Checked = True
Exit For
End If
End If
End Select
Next
Michelle à depuis remplacé le bloc de code avec le principe OO requis ...
Dim thisControl As Control = FindControl(controlName)
If Not thisControl Is Nothing AndAlso TypeOf (thisControl) Is ICheckBoxControl Then
CType(thisControl, System.Web.UI.ICheckBoxControl).Checked = True
End If
.. mais laissa la version originelle commentée pour le plaisir des futur développeurs.
| « Je te jure, ca bippe sans raison | C++++ » |