Salut à tous,
voilà mon problème :
j'ai une page web avec un certain nombre de textbox à remplir par
l'utilisateur.
Quand il clique sur suivant, pour passer à la page suivante, je veux d'abord
vérifier le contenu des textbox, et enlever, par exemple, toutes les
apostrophes et les remplacer par un espace.
J'aimerai trouver une solution qui m'évite d'écrire le code pour chaque
textbox.
j'ai donc essayé ceci : mais cela fonctionne que pour des windowsForm
mais pas dans des applications web.
Dim i As Control
For Each i In Me.Controls
If TypeOf i Is TextBox Then i.text = Replace(i.Text, "'", " ")
Next
le système de débogage n'accepte pas le i.text... mais alors comment faire ?
Connaissez-vous une solution pour que ce bout de code devienne valide dans
une application web ?
Merci beaucoup
JOnat
Salut à tous,
voilà mon problème :
j'ai une page web avec un certain nombre de textbox à remplir par
l'utilisateur.
Quand il clique sur suivant, pour passer à la page suivante, je veux d'abord
vérifier le contenu des textbox, et enlever, par exemple, toutes les
apostrophes et les remplacer par un espace.
J'aimerai trouver une solution qui m'évite d'écrire le code pour chaque
textbox.
j'ai donc essayé ceci : mais cela fonctionne que pour des windowsForm
mais pas dans des applications web.
Dim i As Control
For Each i In Me.Controls
If TypeOf i Is TextBox Then i.text = Replace(i.Text, "'", " ")
Next
le système de débogage n'accepte pas le i.text... mais alors comment faire ?
Connaissez-vous une solution pour que ce bout de code devienne valide dans
une application web ?
Merci beaucoup
JOnat
Salut à tous,
voilà mon problème :
j'ai une page web avec un certain nombre de textbox à remplir par
l'utilisateur.
Quand il clique sur suivant, pour passer à la page suivante, je veux d'abord
vérifier le contenu des textbox, et enlever, par exemple, toutes les
apostrophes et les remplacer par un espace.
J'aimerai trouver une solution qui m'évite d'écrire le code pour chaque
textbox.
j'ai donc essayé ceci : mais cela fonctionne que pour des windowsForm
mais pas dans des applications web.
Dim i As Control
For Each i In Me.Controls
If TypeOf i Is TextBox Then i.text = Replace(i.Text, "'", " ")
Next
le système de débogage n'accepte pas le i.text... mais alors comment faire ?
Connaissez-vous une solution pour que ce bout de code devienne valide dans
une application web ?
Merci beaucoup
JOnat
Dim i As Object 'Remplacement de control par object
For Each i In Me.Controls
If TypeOf i Is TextBox Then ctype( i, TextBox).text = Replace(i.Text, "'",
"
")
'Remplacement de i.Text par Ctype(i, TextBox).Text
Ceci devrait marcher. Salutations
"JOnf" a écrit :Salut à tous,
voilà mon problème :
j'ai une page web avec un certain nombre de textbox à remplir par
l'utilisateur.
Quand il clique sur suivant, pour passer à la page suivante, je veux
d'abord
vérifier le contenu des textbox, et enlever, par exemple, toutes les
apostrophes et les remplacer par un espace.
J'aimerai trouver une solution qui m'évite d'écrire le code pour chaque
textbox.
j'ai donc essayé ceci : mais cela fonctionne que pour des windowsForm
mais pas dans des applications web.
Dim i As Control
For Each i In Me.Controls
If TypeOf i Is TextBox Then i.text = Replace(i.Text, "'", " ")
Next
le système de débogage n'accepte pas le i.text... mais alors comment
faire ?
Connaissez-vous une solution pour que ce bout de code devienne valide
dans
une application web ?
Merci beaucoup
JOnat
Dim i As Object 'Remplacement de control par object
For Each i In Me.Controls
If TypeOf i Is TextBox Then ctype( i, TextBox).text = Replace(i.Text, "'",
"
")
'Remplacement de i.Text par Ctype(i, TextBox).Text
Ceci devrait marcher. Salutations
"JOnf" a écrit :
Salut à tous,
voilà mon problème :
j'ai une page web avec un certain nombre de textbox à remplir par
l'utilisateur.
Quand il clique sur suivant, pour passer à la page suivante, je veux
d'abord
vérifier le contenu des textbox, et enlever, par exemple, toutes les
apostrophes et les remplacer par un espace.
J'aimerai trouver une solution qui m'évite d'écrire le code pour chaque
textbox.
j'ai donc essayé ceci : mais cela fonctionne que pour des windowsForm
mais pas dans des applications web.
Dim i As Control
For Each i In Me.Controls
If TypeOf i Is TextBox Then i.text = Replace(i.Text, "'", " ")
Next
le système de débogage n'accepte pas le i.text... mais alors comment
faire ?
Connaissez-vous une solution pour que ce bout de code devienne valide
dans
une application web ?
Merci beaucoup
JOnat
Dim i As Object 'Remplacement de control par object
For Each i In Me.Controls
If TypeOf i Is TextBox Then ctype( i, TextBox).text = Replace(i.Text, "'",
"
")
'Remplacement de i.Text par Ctype(i, TextBox).Text
Ceci devrait marcher. Salutations
"JOnf" a écrit :Salut à tous,
voilà mon problème :
j'ai une page web avec un certain nombre de textbox à remplir par
l'utilisateur.
Quand il clique sur suivant, pour passer à la page suivante, je veux
d'abord
vérifier le contenu des textbox, et enlever, par exemple, toutes les
apostrophes et les remplacer par un espace.
J'aimerai trouver une solution qui m'évite d'écrire le code pour chaque
textbox.
j'ai donc essayé ceci : mais cela fonctionne que pour des windowsForm
mais pas dans des applications web.
Dim i As Control
For Each i In Me.Controls
If TypeOf i Is TextBox Then i.text = Replace(i.Text, "'", " ")
Next
le système de débogage n'accepte pas le i.text... mais alors comment
faire ?
Connaissez-vous une solution pour que ce bout de code devienne valide
dans
une application web ?
Merci beaucoup
JOnat
Bonjour,
je dirais que le foreach devrait être réccursif avec if control hascontrols
rappel de la procédure avec control.controls.
Sinon tu ne trouveras pas les controles imbriqués (par exemple, textbox dans
un panel, ou encore texobox dans un panel qui est dans un content page...)
Voici en pseudo language ce qu'il faut faire (désolé VB je galère...)
fonction ValidationCtrl (Controls ctrl)
pour tous les controles ct dans ctrl.controls
si ct.hascontrols
ValidationCtrl(ct.controls)
sinon
si ctrl.type = "System.......TextBox"
variable textbox = cast de ct en textbox
textbox.text.replace....
fin si
fin sinin
fin pour tout
fin fonction
En C# par exemple je fais ceci pour remettre tous les champs à zéro,
uniquement dans une zone de travail précise "MaZone" :
// remise à blanc de tous les champs
// cette procédure fonctionne de manière récursive
public static void ClearControls(ControlCollection ctrl)
{
foreach (Control ctl in ctrl)
{
if (ctl.HasControls())
{
ClearControls(ctl.Controls);
}
else
{
if (ctl.NamingContainer.ID == "MaZone")
{
switch (ctl.GetType().ToString())
{
case "System.Web.UI.WebControls.TextBox":
((TextBox)(ctl)).Text = "";
break;
case "System.Web.UI.WebControls.DropDownList":
((DropDownList)(ctl)).SelectedIndex = 0;
break;
case "System.Web.UI.WebControls.CheckBox":
((CheckBox)(ctl)).Checked = false;
break;
}
}
}
}
}
"alan" wrote in message
news:
> Dim i As Object 'Remplacement de control par object
> For Each i In Me.Controls
> If TypeOf i Is TextBox Then ctype( i, TextBox).text = Replace(i.Text, "'",
> "
> ")
> 'Remplacement de i.Text par Ctype(i, TextBox).Text
> Ceci devrait marcher. Salutations
>
> "JOnf" a écrit :
>
>> Salut à tous,
>>
>> voilà mon problème :
>> j'ai une page web avec un certain nombre de textbox à remplir par
>> l'utilisateur.
>> Quand il clique sur suivant, pour passer à la page suivante, je veux
>> d'abord
>> vérifier le contenu des textbox, et enlever, par exemple, toutes les
>> apostrophes et les remplacer par un espace.
>> J'aimerai trouver une solution qui m'évite d'écrire le code pour chaque
>> textbox.
>>
>> j'ai donc essayé ceci : mais cela fonctionne que pour des windowsForm
>> mais pas dans des applications web.
>>
>> Dim i As Control
>> For Each i In Me.Controls
>> If TypeOf i Is TextBox Then i.text = Replace(i.Text, "'", " ")
>>
>> Next
>>
>> le système de débogage n'accepte pas le i.text... mais alors comment
>> faire ?
>>
>> Connaissez-vous une solution pour que ce bout de code devienne valide
>> dans
>> une application web ?
>>
>> Merci beaucoup
>>
>> JOnat
>>
>>
>>
>>
Bonjour,
je dirais que le foreach devrait être réccursif avec if control hascontrols
rappel de la procédure avec control.controls.
Sinon tu ne trouveras pas les controles imbriqués (par exemple, textbox dans
un panel, ou encore texobox dans un panel qui est dans un content page...)
Voici en pseudo language ce qu'il faut faire (désolé VB je galère...)
fonction ValidationCtrl (Controls ctrl)
pour tous les controles ct dans ctrl.controls
si ct.hascontrols
ValidationCtrl(ct.controls)
sinon
si ctrl.type = "System.......TextBox"
variable textbox = cast de ct en textbox
textbox.text.replace....
fin si
fin sinin
fin pour tout
fin fonction
En C# par exemple je fais ceci pour remettre tous les champs à zéro,
uniquement dans une zone de travail précise "MaZone" :
// remise à blanc de tous les champs
// cette procédure fonctionne de manière récursive
public static void ClearControls(ControlCollection ctrl)
{
foreach (Control ctl in ctrl)
{
if (ctl.HasControls())
{
ClearControls(ctl.Controls);
}
else
{
if (ctl.NamingContainer.ID == "MaZone")
{
switch (ctl.GetType().ToString())
{
case "System.Web.UI.WebControls.TextBox":
((TextBox)(ctl)).Text = "";
break;
case "System.Web.UI.WebControls.DropDownList":
((DropDownList)(ctl)).SelectedIndex = 0;
break;
case "System.Web.UI.WebControls.CheckBox":
((CheckBox)(ctl)).Checked = false;
break;
}
}
}
}
}
"alan" <alan@discussions.microsoft.com> wrote in message
news:AB22093E-0AD2-4342-932B-AA630E9BD95A@microsoft.com...
> Dim i As Object 'Remplacement de control par object
> For Each i In Me.Controls
> If TypeOf i Is TextBox Then ctype( i, TextBox).text = Replace(i.Text, "'",
> "
> ")
> 'Remplacement de i.Text par Ctype(i, TextBox).Text
> Ceci devrait marcher. Salutations
>
> "JOnf" a écrit :
>
>> Salut à tous,
>>
>> voilà mon problème :
>> j'ai une page web avec un certain nombre de textbox à remplir par
>> l'utilisateur.
>> Quand il clique sur suivant, pour passer à la page suivante, je veux
>> d'abord
>> vérifier le contenu des textbox, et enlever, par exemple, toutes les
>> apostrophes et les remplacer par un espace.
>> J'aimerai trouver une solution qui m'évite d'écrire le code pour chaque
>> textbox.
>>
>> j'ai donc essayé ceci : mais cela fonctionne que pour des windowsForm
>> mais pas dans des applications web.
>>
>> Dim i As Control
>> For Each i In Me.Controls
>> If TypeOf i Is TextBox Then i.text = Replace(i.Text, "'", " ")
>>
>> Next
>>
>> le système de débogage n'accepte pas le i.text... mais alors comment
>> faire ?
>>
>> Connaissez-vous une solution pour que ce bout de code devienne valide
>> dans
>> une application web ?
>>
>> Merci beaucoup
>>
>> JOnat
>>
>>
>>
>>
Bonjour,
je dirais que le foreach devrait être réccursif avec if control hascontrols
rappel de la procédure avec control.controls.
Sinon tu ne trouveras pas les controles imbriqués (par exemple, textbox dans
un panel, ou encore texobox dans un panel qui est dans un content page...)
Voici en pseudo language ce qu'il faut faire (désolé VB je galère...)
fonction ValidationCtrl (Controls ctrl)
pour tous les controles ct dans ctrl.controls
si ct.hascontrols
ValidationCtrl(ct.controls)
sinon
si ctrl.type = "System.......TextBox"
variable textbox = cast de ct en textbox
textbox.text.replace....
fin si
fin sinin
fin pour tout
fin fonction
En C# par exemple je fais ceci pour remettre tous les champs à zéro,
uniquement dans une zone de travail précise "MaZone" :
// remise à blanc de tous les champs
// cette procédure fonctionne de manière récursive
public static void ClearControls(ControlCollection ctrl)
{
foreach (Control ctl in ctrl)
{
if (ctl.HasControls())
{
ClearControls(ctl.Controls);
}
else
{
if (ctl.NamingContainer.ID == "MaZone")
{
switch (ctl.GetType().ToString())
{
case "System.Web.UI.WebControls.TextBox":
((TextBox)(ctl)).Text = "";
break;
case "System.Web.UI.WebControls.DropDownList":
((DropDownList)(ctl)).SelectedIndex = 0;
break;
case "System.Web.UI.WebControls.CheckBox":
((CheckBox)(ctl)).Checked = false;
break;
}
}
}
}
}
"alan" wrote in message
news:
> Dim i As Object 'Remplacement de control par object
> For Each i In Me.Controls
> If TypeOf i Is TextBox Then ctype( i, TextBox).text = Replace(i.Text, "'",
> "
> ")
> 'Remplacement de i.Text par Ctype(i, TextBox).Text
> Ceci devrait marcher. Salutations
>
> "JOnf" a écrit :
>
>> Salut à tous,
>>
>> voilà mon problème :
>> j'ai une page web avec un certain nombre de textbox à remplir par
>> l'utilisateur.
>> Quand il clique sur suivant, pour passer à la page suivante, je veux
>> d'abord
>> vérifier le contenu des textbox, et enlever, par exemple, toutes les
>> apostrophes et les remplacer par un espace.
>> J'aimerai trouver une solution qui m'évite d'écrire le code pour chaque
>> textbox.
>>
>> j'ai donc essayé ceci : mais cela fonctionne que pour des windowsForm
>> mais pas dans des applications web.
>>
>> Dim i As Control
>> For Each i In Me.Controls
>> If TypeOf i Is TextBox Then i.text = Replace(i.Text, "'", " ")
>>
>> Next
>>
>> le système de débogage n'accepte pas le i.text... mais alors comment
>> faire ?
>>
>> Connaissez-vous une solution pour que ce bout de code devienne valide
>> dans
>> une application web ?
>>
>> Merci beaucoup
>>
>> JOnat
>>
>>
>>
>>
Pourquoi faire simple, quand on peut faire compliqué...., hein?
Suis je bête, moi, de vouloir faire simple, alors que c'est tellement
mieux
de chercher une solution bien compliquée, qui embrouille tout lol.
"Ornette" a écrit :Bonjour,
je dirais que le foreach devrait être réccursif avec if control
hascontrols
rappel de la procédure avec control.controls.
Sinon tu ne trouveras pas les controles imbriqués (par exemple, textbox
dans
un panel, ou encore texobox dans un panel qui est dans un content
page...)
Voici en pseudo language ce qu'il faut faire (désolé VB je galère...)
fonction ValidationCtrl (Controls ctrl)
pour tous les controles ct dans ctrl.controls
si ct.hascontrols
ValidationCtrl(ct.controls)
sinon
si ctrl.type = "System.......TextBox"
variable textbox = cast de ct en textbox
textbox.text.replace....
fin si
fin sinin
fin pour tout
fin fonction
En C# par exemple je fais ceci pour remettre tous les champs à zéro,
uniquement dans une zone de travail précise "MaZone" :
// remise à blanc de tous les champs
// cette procédure fonctionne de manière récursive
public static void ClearControls(ControlCollection ctrl)
{
foreach (Control ctl in ctrl)
{
if (ctl.HasControls())
{
ClearControls(ctl.Controls);
}
else
{
if (ctl.NamingContainer.ID == "MaZone")
{
switch (ctl.GetType().ToString())
{
case "System.Web.UI.WebControls.TextBox":
((TextBox)(ctl)).Text = "";
break;
case
"System.Web.UI.WebControls.DropDownList":
((DropDownList)(ctl)).SelectedIndex = 0;
break;
case "System.Web.UI.WebControls.CheckBox":
((CheckBox)(ctl)).Checked = false;
break;
}
}
}
}
}
"alan" wrote in message
news:
> Dim i As Object 'Remplacement de control par object
> For Each i In Me.Controls
> If TypeOf i Is TextBox Then ctype( i, TextBox).text = Replace(i.Text,
> "'",
> "
> ")
> 'Remplacement de i.Text par Ctype(i, TextBox).Text
> Ceci devrait marcher. Salutations
>
> "JOnf" a écrit :
>
>> Salut à tous,
>>
>> voilà mon problème :
>> j'ai une page web avec un certain nombre de textbox à remplir par
>> l'utilisateur.
>> Quand il clique sur suivant, pour passer à la page suivante, je veux
>> d'abord
>> vérifier le contenu des textbox, et enlever, par exemple, toutes les
>> apostrophes et les remplacer par un espace.
>> J'aimerai trouver une solution qui m'évite d'écrire le code pour
>> chaque
>> textbox.
>>
>> j'ai donc essayé ceci : mais cela fonctionne que pour des
>> windowsForm
>> mais pas dans des applications web.
>>
>> Dim i As Control
>> For Each i In Me.Controls
>> If TypeOf i Is TextBox Then i.text = Replace(i.Text, "'", " ")
>>
>> Next
>>
>> le système de débogage n'accepte pas le i.text... mais alors comment
>> faire ?
>>
>> Connaissez-vous une solution pour que ce bout de code devienne valide
>> dans
>> une application web ?
>>
>> Merci beaucoup
>>
>> JOnat
>>
>>
>>
>>
Pourquoi faire simple, quand on peut faire compliqué...., hein?
Suis je bête, moi, de vouloir faire simple, alors que c'est tellement
mieux
de chercher une solution bien compliquée, qui embrouille tout lol.
"Ornette" a écrit :
Bonjour,
je dirais que le foreach devrait être réccursif avec if control
hascontrols
rappel de la procédure avec control.controls.
Sinon tu ne trouveras pas les controles imbriqués (par exemple, textbox
dans
un panel, ou encore texobox dans un panel qui est dans un content
page...)
Voici en pseudo language ce qu'il faut faire (désolé VB je galère...)
fonction ValidationCtrl (Controls ctrl)
pour tous les controles ct dans ctrl.controls
si ct.hascontrols
ValidationCtrl(ct.controls)
sinon
si ctrl.type = "System.......TextBox"
variable textbox = cast de ct en textbox
textbox.text.replace....
fin si
fin sinin
fin pour tout
fin fonction
En C# par exemple je fais ceci pour remettre tous les champs à zéro,
uniquement dans une zone de travail précise "MaZone" :
// remise à blanc de tous les champs
// cette procédure fonctionne de manière récursive
public static void ClearControls(ControlCollection ctrl)
{
foreach (Control ctl in ctrl)
{
if (ctl.HasControls())
{
ClearControls(ctl.Controls);
}
else
{
if (ctl.NamingContainer.ID == "MaZone")
{
switch (ctl.GetType().ToString())
{
case "System.Web.UI.WebControls.TextBox":
((TextBox)(ctl)).Text = "";
break;
case
"System.Web.UI.WebControls.DropDownList":
((DropDownList)(ctl)).SelectedIndex = 0;
break;
case "System.Web.UI.WebControls.CheckBox":
((CheckBox)(ctl)).Checked = false;
break;
}
}
}
}
}
"alan" <alan@discussions.microsoft.com> wrote in message
news:AB22093E-0AD2-4342-932B-AA630E9BD95A@microsoft.com...
> Dim i As Object 'Remplacement de control par object
> For Each i In Me.Controls
> If TypeOf i Is TextBox Then ctype( i, TextBox).text = Replace(i.Text,
> "'",
> "
> ")
> 'Remplacement de i.Text par Ctype(i, TextBox).Text
> Ceci devrait marcher. Salutations
>
> "JOnf" a écrit :
>
>> Salut à tous,
>>
>> voilà mon problème :
>> j'ai une page web avec un certain nombre de textbox à remplir par
>> l'utilisateur.
>> Quand il clique sur suivant, pour passer à la page suivante, je veux
>> d'abord
>> vérifier le contenu des textbox, et enlever, par exemple, toutes les
>> apostrophes et les remplacer par un espace.
>> J'aimerai trouver une solution qui m'évite d'écrire le code pour
>> chaque
>> textbox.
>>
>> j'ai donc essayé ceci : mais cela fonctionne que pour des
>> windowsForm
>> mais pas dans des applications web.
>>
>> Dim i As Control
>> For Each i In Me.Controls
>> If TypeOf i Is TextBox Then i.text = Replace(i.Text, "'", " ")
>>
>> Next
>>
>> le système de débogage n'accepte pas le i.text... mais alors comment
>> faire ?
>>
>> Connaissez-vous une solution pour que ce bout de code devienne valide
>> dans
>> une application web ?
>>
>> Merci beaucoup
>>
>> JOnat
>>
>>
>>
>>
Pourquoi faire simple, quand on peut faire compliqué...., hein?
Suis je bête, moi, de vouloir faire simple, alors que c'est tellement
mieux
de chercher une solution bien compliquée, qui embrouille tout lol.
"Ornette" a écrit :Bonjour,
je dirais que le foreach devrait être réccursif avec if control
hascontrols
rappel de la procédure avec control.controls.
Sinon tu ne trouveras pas les controles imbriqués (par exemple, textbox
dans
un panel, ou encore texobox dans un panel qui est dans un content
page...)
Voici en pseudo language ce qu'il faut faire (désolé VB je galère...)
fonction ValidationCtrl (Controls ctrl)
pour tous les controles ct dans ctrl.controls
si ct.hascontrols
ValidationCtrl(ct.controls)
sinon
si ctrl.type = "System.......TextBox"
variable textbox = cast de ct en textbox
textbox.text.replace....
fin si
fin sinin
fin pour tout
fin fonction
En C# par exemple je fais ceci pour remettre tous les champs à zéro,
uniquement dans une zone de travail précise "MaZone" :
// remise à blanc de tous les champs
// cette procédure fonctionne de manière récursive
public static void ClearControls(ControlCollection ctrl)
{
foreach (Control ctl in ctrl)
{
if (ctl.HasControls())
{
ClearControls(ctl.Controls);
}
else
{
if (ctl.NamingContainer.ID == "MaZone")
{
switch (ctl.GetType().ToString())
{
case "System.Web.UI.WebControls.TextBox":
((TextBox)(ctl)).Text = "";
break;
case
"System.Web.UI.WebControls.DropDownList":
((DropDownList)(ctl)).SelectedIndex = 0;
break;
case "System.Web.UI.WebControls.CheckBox":
((CheckBox)(ctl)).Checked = false;
break;
}
}
}
}
}
"alan" wrote in message
news:
> Dim i As Object 'Remplacement de control par object
> For Each i In Me.Controls
> If TypeOf i Is TextBox Then ctype( i, TextBox).text = Replace(i.Text,
> "'",
> "
> ")
> 'Remplacement de i.Text par Ctype(i, TextBox).Text
> Ceci devrait marcher. Salutations
>
> "JOnf" a écrit :
>
>> Salut à tous,
>>
>> voilà mon problème :
>> j'ai une page web avec un certain nombre de textbox à remplir par
>> l'utilisateur.
>> Quand il clique sur suivant, pour passer à la page suivante, je veux
>> d'abord
>> vérifier le contenu des textbox, et enlever, par exemple, toutes les
>> apostrophes et les remplacer par un espace.
>> J'aimerai trouver une solution qui m'évite d'écrire le code pour
>> chaque
>> textbox.
>>
>> j'ai donc essayé ceci : mais cela fonctionne que pour des
>> windowsForm
>> mais pas dans des applications web.
>>
>> Dim i As Control
>> For Each i In Me.Controls
>> If TypeOf i Is TextBox Then i.text = Replace(i.Text, "'", " ")
>>
>> Next
>>
>> le système de débogage n'accepte pas le i.text... mais alors comment
>> faire ?
>>
>> Connaissez-vous une solution pour que ce bout de code devienne valide
>> dans
>> une application web ?
>>
>> Merci beaucoup
>>
>> JOnat
>>
>>
>>
>>
Pourquoi faire simple, quand on peut faire compliqué...., hein?
Suis je bête, moi, de vouloir faire simple, alors que c'est tellement
mieux
de chercher une solution bien compliquée, qui embrouille tout lol.
"Ornette" a écrit :Bonjour,
je dirais que le foreach devrait être réccursif avec if control
hascontrols
rappel de la procédure avec control.controls.
Sinon tu ne trouveras pas les controles imbriqués (par exemple, textbox
dans
un panel, ou encore texobox dans un panel qui est dans un content
page...)
Voici en pseudo language ce qu'il faut faire (désolé VB je galère...)
fonction ValidationCtrl (Controls ctrl)
pour tous les controles ct dans ctrl.controls
si ct.hascontrols
ValidationCtrl(ct.controls)
sinon
si ctrl.type = "System.......TextBox"
variable textbox = cast de ct en textbox
textbox.text.replace....
fin si
fin sinin
fin pour tout
fin fonction
En C# par exemple je fais ceci pour remettre tous les champs à zéro,
uniquement dans une zone de travail précise "MaZone" :
// remise à blanc de tous les champs
// cette procédure fonctionne de manière récursive
public static void ClearControls(ControlCollection ctrl)
{
foreach (Control ctl in ctrl)
{
if (ctl.HasControls())
{
ClearControls(ctl.Controls);
}
else
{
if (ctl.NamingContainer.ID == "MaZone")
{
switch (ctl.GetType().ToString())
{
case "System.Web.UI.WebControls.TextBox":
((TextBox)(ctl)).Text = "";
break;
case
"System.Web.UI.WebControls.DropDownList":
((DropDownList)(ctl)).SelectedIndex = 0;
break;
case "System.Web.UI.WebControls.CheckBox":
((CheckBox)(ctl)).Checked = false;
break;
}
}
}
}
}
"alan" wrote in message
news:
> Dim i As Object 'Remplacement de control par object
> For Each i In Me.Controls
> If TypeOf i Is TextBox Then ctype( i, TextBox).text = Replace(i.Text,
> "'",
> "
> ")
> 'Remplacement de i.Text par Ctype(i, TextBox).Text
> Ceci devrait marcher. Salutations
>
> "JOnf" a écrit :
>
>> Salut à tous,
>>
>> voilà mon problème :
>> j'ai une page web avec un certain nombre de textbox à remplir par
>> l'utilisateur.
>> Quand il clique sur suivant, pour passer à la page suivante, je veux
>> d'abord
>> vérifier le contenu des textbox, et enlever, par exemple, toutes les
>> apostrophes et les remplacer par un espace.
>> J'aimerai trouver une solution qui m'évite d'écrire le code pour
>> chaque
>> textbox.
>>
>> j'ai donc essayé ceci : mais cela fonctionne que pour des
>> windowsForm
>> mais pas dans des applications web.
>>
>> Dim i As Control
>> For Each i In Me.Controls
>> If TypeOf i Is TextBox Then i.text = Replace(i.Text, "'", " ")
>>
>> Next
>>
>> le système de débogage n'accepte pas le i.text... mais alors comment
>> faire ?
>>
>> Connaissez-vous une solution pour que ce bout de code devienne valide
>> dans
>> une application web ?
>>
>> Merci beaucoup
>>
>> JOnat
>>
>>
>>
>>
Pourquoi faire simple, quand on peut faire compliqué...., hein?
Suis je bête, moi, de vouloir faire simple, alors que c'est tellement
mieux
de chercher une solution bien compliquée, qui embrouille tout lol.
"Ornette" a écrit :
Bonjour,
je dirais que le foreach devrait être réccursif avec if control
hascontrols
rappel de la procédure avec control.controls.
Sinon tu ne trouveras pas les controles imbriqués (par exemple, textbox
dans
un panel, ou encore texobox dans un panel qui est dans un content
page...)
Voici en pseudo language ce qu'il faut faire (désolé VB je galère...)
fonction ValidationCtrl (Controls ctrl)
pour tous les controles ct dans ctrl.controls
si ct.hascontrols
ValidationCtrl(ct.controls)
sinon
si ctrl.type = "System.......TextBox"
variable textbox = cast de ct en textbox
textbox.text.replace....
fin si
fin sinin
fin pour tout
fin fonction
En C# par exemple je fais ceci pour remettre tous les champs à zéro,
uniquement dans une zone de travail précise "MaZone" :
// remise à blanc de tous les champs
// cette procédure fonctionne de manière récursive
public static void ClearControls(ControlCollection ctrl)
{
foreach (Control ctl in ctrl)
{
if (ctl.HasControls())
{
ClearControls(ctl.Controls);
}
else
{
if (ctl.NamingContainer.ID == "MaZone")
{
switch (ctl.GetType().ToString())
{
case "System.Web.UI.WebControls.TextBox":
((TextBox)(ctl)).Text = "";
break;
case
"System.Web.UI.WebControls.DropDownList":
((DropDownList)(ctl)).SelectedIndex = 0;
break;
case "System.Web.UI.WebControls.CheckBox":
((CheckBox)(ctl)).Checked = false;
break;
}
}
}
}
}
"alan" <alan@discussions.microsoft.com> wrote in message
news:AB22093E-0AD2-4342-932B-AA630E9BD95A@microsoft.com...
> Dim i As Object 'Remplacement de control par object
> For Each i In Me.Controls
> If TypeOf i Is TextBox Then ctype( i, TextBox).text = Replace(i.Text,
> "'",
> "
> ")
> 'Remplacement de i.Text par Ctype(i, TextBox).Text
> Ceci devrait marcher. Salutations
>
> "JOnf" a écrit :
>
>> Salut à tous,
>>
>> voilà mon problème :
>> j'ai une page web avec un certain nombre de textbox à remplir par
>> l'utilisateur.
>> Quand il clique sur suivant, pour passer à la page suivante, je veux
>> d'abord
>> vérifier le contenu des textbox, et enlever, par exemple, toutes les
>> apostrophes et les remplacer par un espace.
>> J'aimerai trouver une solution qui m'évite d'écrire le code pour
>> chaque
>> textbox.
>>
>> j'ai donc essayé ceci : mais cela fonctionne que pour des
>> windowsForm
>> mais pas dans des applications web.
>>
>> Dim i As Control
>> For Each i In Me.Controls
>> If TypeOf i Is TextBox Then i.text = Replace(i.Text, "'", " ")
>>
>> Next
>>
>> le système de débogage n'accepte pas le i.text... mais alors comment
>> faire ?
>>
>> Connaissez-vous une solution pour que ce bout de code devienne valide
>> dans
>> une application web ?
>>
>> Merci beaucoup
>>
>> JOnat
>>
>>
>>
>>
Pourquoi faire simple, quand on peut faire compliqué...., hein?
Suis je bête, moi, de vouloir faire simple, alors que c'est tellement
mieux
de chercher une solution bien compliquée, qui embrouille tout lol.
"Ornette" a écrit :Bonjour,
je dirais que le foreach devrait être réccursif avec if control
hascontrols
rappel de la procédure avec control.controls.
Sinon tu ne trouveras pas les controles imbriqués (par exemple, textbox
dans
un panel, ou encore texobox dans un panel qui est dans un content
page...)
Voici en pseudo language ce qu'il faut faire (désolé VB je galère...)
fonction ValidationCtrl (Controls ctrl)
pour tous les controles ct dans ctrl.controls
si ct.hascontrols
ValidationCtrl(ct.controls)
sinon
si ctrl.type = "System.......TextBox"
variable textbox = cast de ct en textbox
textbox.text.replace....
fin si
fin sinin
fin pour tout
fin fonction
En C# par exemple je fais ceci pour remettre tous les champs à zéro,
uniquement dans une zone de travail précise "MaZone" :
// remise à blanc de tous les champs
// cette procédure fonctionne de manière récursive
public static void ClearControls(ControlCollection ctrl)
{
foreach (Control ctl in ctrl)
{
if (ctl.HasControls())
{
ClearControls(ctl.Controls);
}
else
{
if (ctl.NamingContainer.ID == "MaZone")
{
switch (ctl.GetType().ToString())
{
case "System.Web.UI.WebControls.TextBox":
((TextBox)(ctl)).Text = "";
break;
case
"System.Web.UI.WebControls.DropDownList":
((DropDownList)(ctl)).SelectedIndex = 0;
break;
case "System.Web.UI.WebControls.CheckBox":
((CheckBox)(ctl)).Checked = false;
break;
}
}
}
}
}
"alan" wrote in message
news:
> Dim i As Object 'Remplacement de control par object
> For Each i In Me.Controls
> If TypeOf i Is TextBox Then ctype( i, TextBox).text = Replace(i.Text,
> "'",
> "
> ")
> 'Remplacement de i.Text par Ctype(i, TextBox).Text
> Ceci devrait marcher. Salutations
>
> "JOnf" a écrit :
>
>> Salut à tous,
>>
>> voilà mon problème :
>> j'ai une page web avec un certain nombre de textbox à remplir par
>> l'utilisateur.
>> Quand il clique sur suivant, pour passer à la page suivante, je veux
>> d'abord
>> vérifier le contenu des textbox, et enlever, par exemple, toutes les
>> apostrophes et les remplacer par un espace.
>> J'aimerai trouver une solution qui m'évite d'écrire le code pour
>> chaque
>> textbox.
>>
>> j'ai donc essayé ceci : mais cela fonctionne que pour des
>> windowsForm
>> mais pas dans des applications web.
>>
>> Dim i As Control
>> For Each i In Me.Controls
>> If TypeOf i Is TextBox Then i.text = Replace(i.Text, "'", " ")
>>
>> Next
>>
>> le système de débogage n'accepte pas le i.text... mais alors comment
>> faire ?
>>
>> Connaissez-vous une solution pour que ce bout de code devienne valide
>> dans
>> une application web ?
>>
>> Merci beaucoup
>>
>> JOnat
>>
>>
>>
>>
Dim i As Object 'Remplacement de control par object
For Each i In Me.Controls
If TypeOf i Is TextBox Then ctype( i, TextBox).text = Replace(i.Text, "'",
"
")
'Remplacement de i.Text par Ctype(i, TextBox).Text
Ceci devrait marcher. Salutations
"JOnf" a écrit :Salut à tous,
voilà mon problème :
j'ai une page web avec un certain nombre de textbox à remplir par
l'utilisateur.
Quand il clique sur suivant, pour passer à la page suivante, je veux
d'abord
vérifier le contenu des textbox, et enlever, par exemple, toutes les
apostrophes et les remplacer par un espace.
J'aimerai trouver une solution qui m'évite d'écrire le code pour chaque
textbox.
j'ai donc essayé ceci : mais cela fonctionne que pour des windowsForm
mais pas dans des applications web.
Dim i As Control
For Each i In Me.Controls
If TypeOf i Is TextBox Then i.text = Replace(i.Text, "'", " ")
Next
le système de débogage n'accepte pas le i.text... mais alors comment
faire ?
Connaissez-vous une solution pour que ce bout de code devienne valide
dans
une application web ?
Merci beaucoup
JOnat
Dim i As Object 'Remplacement de control par object
For Each i In Me.Controls
If TypeOf i Is TextBox Then ctype( i, TextBox).text = Replace(i.Text, "'",
"
")
'Remplacement de i.Text par Ctype(i, TextBox).Text
Ceci devrait marcher. Salutations
"JOnf" a écrit :
Salut à tous,
voilà mon problème :
j'ai une page web avec un certain nombre de textbox à remplir par
l'utilisateur.
Quand il clique sur suivant, pour passer à la page suivante, je veux
d'abord
vérifier le contenu des textbox, et enlever, par exemple, toutes les
apostrophes et les remplacer par un espace.
J'aimerai trouver une solution qui m'évite d'écrire le code pour chaque
textbox.
j'ai donc essayé ceci : mais cela fonctionne que pour des windowsForm
mais pas dans des applications web.
Dim i As Control
For Each i In Me.Controls
If TypeOf i Is TextBox Then i.text = Replace(i.Text, "'", " ")
Next
le système de débogage n'accepte pas le i.text... mais alors comment
faire ?
Connaissez-vous une solution pour que ce bout de code devienne valide
dans
une application web ?
Merci beaucoup
JOnat
Dim i As Object 'Remplacement de control par object
For Each i In Me.Controls
If TypeOf i Is TextBox Then ctype( i, TextBox).text = Replace(i.Text, "'",
"
")
'Remplacement de i.Text par Ctype(i, TextBox).Text
Ceci devrait marcher. Salutations
"JOnf" a écrit :Salut à tous,
voilà mon problème :
j'ai une page web avec un certain nombre de textbox à remplir par
l'utilisateur.
Quand il clique sur suivant, pour passer à la page suivante, je veux
d'abord
vérifier le contenu des textbox, et enlever, par exemple, toutes les
apostrophes et les remplacer par un espace.
J'aimerai trouver une solution qui m'évite d'écrire le code pour chaque
textbox.
j'ai donc essayé ceci : mais cela fonctionne que pour des windowsForm
mais pas dans des applications web.
Dim i As Control
For Each i In Me.Controls
If TypeOf i Is TextBox Then i.text = Replace(i.Text, "'", " ")
Next
le système de débogage n'accepte pas le i.text... mais alors comment
faire ?
Connaissez-vous une solution pour que ce bout de code devienne valide
dans
une application web ?
Merci beaucoup
JOnat