Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

checkbox qui disparaissent...

2 réponses
Avatar
Nicopil
Bonjour

j'ai deux questions li=E9es =E0 poser :

1*) pb de formulaire asp.net ?
------------------------------------------------
lorsque je cr=E9e dynamiquement des checkbox dans une page aspx (C#)
- elles ont tous un identifiant unique et leur valeur xxx.viewstate
est =E0 true -
et que je soumets le formulaire .net par un simple bouton HTML du type

<input type=3D"button" onclick=3D"document.forms[0].submit();"
value=3D"Save"/>

je ne retrouve pas mes valeurs lorsque je fais

void Page_PreRender(object sender, EventArgs e)
{
foreach (string key in Request[Form.AllKeys)
{
if (key.ToLower().Contains("chkbx"))
LOG.Info(key + " -> " + Request.Form[key]); // log les
infos du formulaire dans le fichier texte
}
}



2*)cr=E9er des controles HTML classiques de facon dynamique
----------------------------------------------------------------------------=
-----------
l'ensemble des variables que je cr=E9e de facon dynamique est du type
ctl00$ContentPlaceHolder$nom_variabel
Est-il possible de cr=E9er des controles classiques HTML non li=E9es au
ContentPlaceHolder ?




En r=E9sum=E9, je souhaiterais connaitre le moyen de contourner
l'utilisation du viewstate en cr=E9ant et recup=E9rant les valeurs comme
dans un formulaire HTML classique, mais en ayant cr=E9=E9 les controles de
facon dynamique.

bye
Nico

2 réponses

Avatar
Patrice
1) Par principe les cases à cocher non cochées ne sont pas postées. ASP.NET
masque sans doute cela mais il faut le prendre en comtpe si les valeurs sont
lues via Request.Form. Est-ce bien le cas ou cela arrive aussi pour des
cases cochées ??? Si cela ne marche pas, tout lister déjà pour voir ce que
cela donne (les contrôles on bien un nom (attribut "name" dans le code HTML)
? Ils sont activés ? Ils sont dans le formulaire ? Le formulaire est mode
post ?...)

2) Par exemple avec un placeholder sans faire de contrôle, on injecte alors
directement du code HTML sans que l'infrastructure ASP.NET se mette en
place.

Après on travaille plutôt contre qu'avec l'infrastructure ASP.NET. Une autre
solution pourrait être d'expliquer le problème rencontré avec des checkboxes
gérées par ASP.NET pour que qq puisse expliquer comment le résoudre.

--
Patrice

"" a écrit dans le message de groupe de
discussion :


Bonjour

j'ai deux questions liées à poser :

1*) pb de formulaire asp.net ?
------------------------------------------------
lorsque je crée dynamiquement des checkbox dans une page aspx (C#)
- elles ont tous un identifiant unique et leur valeur xxx.viewstate
est à true -
et que je soumets le formulaire .net par un simple bouton HTML du type

<input type="button" onclick="document.forms[0].submit();"
value="Save"/>

je ne retrouve pas mes valeurs lorsque je fais

void Page_PreRender(object sender, EventArgs e)
{
foreach (string key in Request[Form.AllKeys)
{
if (key.ToLower().Contains("chkbx"))
LOG.Info(key + " -> " + Request.Form[key]); // log les
infos du formulaire dans le fichier texte
}
}



2*)créer des controles HTML classiques de facon dynamique
---------------------------------------------------------------------------------------
l'ensemble des variables que je crée de facon dynamique est du type
ctl00$ContentPlaceHolder$nom_variabel
Est-il possible de créer des controles classiques HTML non liées au
ContentPlaceHolder ?




En résumé, je souhaiterais connaitre le moyen de contourner
l'utilisation du viewstate en créant et recupérant les valeurs comme
dans un formulaire HTML classique, mais en ayant créé les controles de
facon dynamique.

bye
Nico



Avatar
Nicopil
On 19 mai, 18:28, "Patrice" <http://www.chez.com/scribe/> wrote:
1) Par principe les cases à cocher non cochées ne sont pas postées. ASP.NET
masque sans doute cela mais il faut le prendre en comtpe si les valeurs so nt
lues via Request.Form. Est-ce bien le cas ou cela arrive aussi pour des
cases cochées ??? Si cela ne marche pas, tout lister déjà pour voir ce que
cela donne (les contrôles on bien un nom (attribut "name" dans le code H TML)
? Ils sont activés ? Ils sont dans le formulaire ? Le formulaire est mod e
post ?...)

2) Par exemple avec un placeholder sans faire de contrôle, on injecte al ors
directement du code HTML sans que l'infrastructure ASP.NET se mette en
place.

Après on travaille plutôt contre qu'avec l'infrastructure ASP.NET. Une autre
solution pourrait être d'expliquer le problème rencontré avec des ch eckboxes
gérées par ASP.NET pour que qq puisse expliquer comment le résoudre.

--
Patrice

"" a écrit dans le message de groupe d e
discussion :




> Bonjour

> j'ai deux questions liées à poser :

> 1*) pb de formulaire asp.net ?
> ------------------------------------------------
> lorsque je crée dynamiquement des checkbox dans une page aspx (C#)
> - elles ont tous un identifiant unique et leur valeur xxx.viewstate
> est à true -
> et que je soumets le formulaire .net par un simple bouton HTML du type

> <input type="button" onclick="document.forms[0].submit();"
> value="Save"/>

> je ne retrouve pas mes valeurs lorsque je fais

>    void Page_PreRender(object sender, EventArgs e)
>    {
>        foreach (string key in Request[Form.AllKeys)
>        {
>            if (key.ToLower().Contains("chkbx"))
>                LOG.Info(key + " -> " + Request.Form[key] ); // log les
> infos du formulaire dans le fichier texte
>        }
>    }

> 2*)créer des controles HTML classiques de facon dynamique
> ------------------------------------------------------------------------ ---------------
> l'ensemble des variables que je crée de facon dynamique est du type
> ctl00$ContentPlaceHolder$nom_variabel
> Est-il possible de créer des controles classiques HTML non liées au
> ContentPlaceHolder ?

> En résumé, je souhaiterais connaitre le moyen de contourner
> l'utilisation du viewstate en créant et recupérant les valeurs comme
> dans un formulaire HTML classique, mais en ayant créé les controles de
> facon dynamique.

> bye
> Nico


Hello
d'abord merci pour la réponse.
Comme conseillé, j'ai réussi ce que je voulais faire en codant tout "à
la main", en injectant du HTML pur dans un DIV; :o)

merci encore
Nico