OVH Cloud OVH Cloud

création d'un designer sous asp.net et javascript

4 réponses
Avatar
sphax
Bonjour,
J'ai créé un code javascript pour faire du drag and drop avec des labels et
des textboxs (tous les 2 en version HTML et non webform).

Mon objectif est le suivant:
Je veux pourvoir créer une sorte de petit "designer" comme dans visual
studio par exemple.
Dans un premier temps, je veux pouvoir, pour les labels et les textboxs
déplacés, stocker dans une base sql leurs positions dans la page au moment où
l'on clique sur un bouton(webform ce coup-ci!:-))de validation.

Problèmes rencontrés:
lorsque je clique sur mon bouton, ma page effectue un postback et mes
boutons reviennent en position initiale et du coup je n'ai dans la base sql
que leurs positions par défaut et non celle à l'instant du clique sur le
bouton.

questions:
-comme faire pour régler ce problème?
-puis-je depuis javascript indiquer de stocker des valeurs en variables de
session?
-puis-je utiliser les propriétés du viewstate pour récupérer les positions
de control HTML si ils sont déclarés en runat=server?
-existe-t-il une autre solution qui m'aurait échappée?

un grand merci d'avance!

4 réponses

Avatar
c.sansus
Lorsque tu fais un postback tu ne peux récupérer que les valeurs des objet du
type <input> et <select> (les bouton, dropdownlist et champs cachés) tout le
reste est perdu !

Pour ton problème, une solution simple : intégrer dans ta page un champ
caché dans lequel tu stockes les informations de position de tes controles
(ce stockage est fait en javascript). Lors que tu fais un postback tu
récupères la valeur de ton champ caché et de la tu peux récupérer les
positions de tes objets.

La difficulté dans tout ca, c'est de stocker de facon simple les
informations de position .... bon courage :D

"sphax" wrote:

Bonjour,
J'ai créé un code javascript pour faire du drag and drop avec des labels et
des textboxs (tous les 2 en version HTML et non webform).

Mon objectif est le suivant:
Je veux pourvoir créer une sorte de petit "designer" comme dans visual
studio par exemple.
Dans un premier temps, je veux pouvoir, pour les labels et les textboxs
déplacés, stocker dans une base sql leurs positions dans la page au moment où
l'on clique sur un bouton(webform ce coup-ci!:-))de validation.

Problèmes rencontrés:
lorsque je clique sur mon bouton, ma page effectue un postback et mes
boutons reviennent en position initiale et du coup je n'ai dans la base sql
que leurs positions par défaut et non celle à l'instant du clique sur le
bouton.

questions:
-comme faire pour régler ce problème?
-puis-je depuis javascript indiquer de stocker des valeurs en variables de
session?
-puis-je utiliser les propriétés du viewstate pour récupérer les positions
de control HTML si ils sont déclarés en runat=server?
-existe-t-il une autre solution qui m'aurait échappée?

un grand merci d'avance!


Avatar
sphax
merci pour ta réactivité!
A partir de ce que tu m'as dit j'ai tenté une astuce qui n'a pas marché...Je
me suis dit que si on pouvait récupérer les infos pour un champ caché, je
pouvais avoir autant de champ caché que d'élément à postionner. Puis une fois
que j'ai positionné mon élément, d'affecter la même position à mon champ
caché(qui a enableviewstate = true) .
Comme ça j'avais pas de pb de codage puisque j'aurais récupéré la nouvelle
position du champ caché côté serveur, mais apparement ça n'a pas marché et je
ne sais pas pourquoi?

"c.sansus" a écrit :

Lorsque tu fais un postback tu ne peux récupérer que les valeurs des objet du
type <input> et <select> (les bouton, dropdownlist et champs cachés) tout le
reste est perdu !

Pour ton problème, une solution simple : intégrer dans ta page un champ
caché dans lequel tu stockes les informations de position de tes controles
(ce stockage est fait en javascript). Lors que tu fais un postback tu
récupères la valeur de ton champ caché et de la tu peux récupérer les
positions de tes objets.

La difficulté dans tout ca, c'est de stocker de facon simple les
informations de position .... bon courage :D

"sphax" wrote:

> Bonjour,
> J'ai créé un code javascript pour faire du drag and drop avec des labels et
> des textboxs (tous les 2 en version HTML et non webform).
>
> Mon objectif est le suivant:
> Je veux pourvoir créer une sorte de petit "designer" comme dans visual
> studio par exemple.
> Dans un premier temps, je veux pouvoir, pour les labels et les textboxs
> déplacés, stocker dans une base sql leurs positions dans la page au moment où
> l'on clique sur un bouton(webform ce coup-ci!:-))de validation.
>
> Problèmes rencontrés:
> lorsque je clique sur mon bouton, ma page effectue un postback et mes
> boutons reviennent en position initiale et du coup je n'ai dans la base sql
> que leurs positions par défaut et non celle à l'instant du clique sur le
> bouton.
>
> questions:
> -comme faire pour régler ce problème?
> -puis-je depuis javascript indiquer de stocker des valeurs en variables de
> session?
> -puis-je utiliser les propriétés du viewstate pour récupérer les positions
> de control HTML si ils sont déclarés en runat=server?
> -existe-t-il une autre solution qui m'aurait échappée?
>
> un grand merci d'avance!


Avatar
Patrice
Ce que voulais dire c.sansus c'est qu'il faut mettre dans la propriété
*value* de ces contrôles cachées la position de tes contrôles (et non pas
leur donner la même position comme je crois comprendre que tu l'as fait).

Par principe les *seules* valeurs envoyées au serveur sont les valeurs
contenues dans les champs de saisie. Aucune autre information (position,
taille, couleur etc...) n'est envoyée au serveur (c'est d'ailleurs pourquoi
le viewstate est stockée dans un champ caché ce qui permet à ASP.NET de
récupérer ces informations d'un appel à l'autre de la page).

Patrice

--

"sphax" a écrit dans le message de
news:
merci pour ta réactivité!
A partir de ce que tu m'as dit j'ai tenté une astuce qui n'a pas


marché...Je
me suis dit que si on pouvait récupérer les infos pour un champ caché, je
pouvais avoir autant de champ caché que d'élément à postionner. Puis une


fois
que j'ai positionné mon élément, d'affecter la même position à mon champ
caché(qui a enableviewstate = true) .
Comme ça j'avais pas de pb de codage puisque j'aurais récupéré la nouvelle
position du champ caché côté serveur, mais apparement ça n'a pas marché et


je
ne sais pas pourquoi?

"c.sansus" a écrit :

> Lorsque tu fais un postback tu ne peux récupérer que les valeurs des


objet du
> type <input> et <select> (les bouton, dropdownlist et champs cachés)


tout le
> reste est perdu !
>
> Pour ton problème, une solution simple : intégrer dans ta page un champ
> caché dans lequel tu stockes les informations de position de tes


controles
> (ce stockage est fait en javascript). Lors que tu fais un postback tu
> récupères la valeur de ton champ caché et de la tu peux récupérer les
> positions de tes objets.
>
> La difficulté dans tout ca, c'est de stocker de facon simple les
> informations de position .... bon courage :D
>
> "sphax" wrote:
>
> > Bonjour,
> > J'ai créé un code javascript pour faire du drag and drop avec des


labels et
> > des textboxs (tous les 2 en version HTML et non webform).
> >
> > Mon objectif est le suivant:
> > Je veux pourvoir créer une sorte de petit "designer" comme dans visual
> > studio par exemple.
> > Dans un premier temps, je veux pouvoir, pour les labels et les


textboxs
> > déplacés, stocker dans une base sql leurs positions dans la page au


moment où
> > l'on clique sur un bouton(webform ce coup-ci!:-))de validation.
> >
> > Problèmes rencontrés:
> > lorsque je clique sur mon bouton, ma page effectue un postback et mes
> > boutons reviennent en position initiale et du coup je n'ai dans la


base sql
> > que leurs positions par défaut et non celle à l'instant du clique sur


le
> > bouton.
> >
> > questions:
> > -comme faire pour régler ce problème?
> > -puis-je depuis javascript indiquer de stocker des valeurs en


variables de
> > session?
> > -puis-je utiliser les propriétés du viewstate pour récupérer les


positions
> > de control HTML si ils sont déclarés en runat=server?
> > -existe-t-il une autre solution qui m'aurait échappée?
> >
> > un grand merci d'avance!


Avatar
sphax
Effectivement j'avais bien compris qu'il fallait remplir le champ value mais
je voulais vérifier si d'autres infos étaient sauvegardées comme le champ
style par exemple.
En tt cas merci pour votre réactivité à ts les 2 et votre pertinence pour
les réponses.

"Patrice" a écrit :

Ce que voulais dire c.sansus c'est qu'il faut mettre dans la propriété
*value* de ces contrôles cachées la position de tes contrôles (et non pas
leur donner la même position comme je crois comprendre que tu l'as fait).

Par principe les *seules* valeurs envoyées au serveur sont les valeurs
contenues dans les champs de saisie. Aucune autre information (position,
taille, couleur etc...) n'est envoyée au serveur (c'est d'ailleurs pourquoi
le viewstate est stockée dans un champ caché ce qui permet à ASP.NET de
récupérer ces informations d'un appel à l'autre de la page).

Patrice

--

"sphax" a écrit dans le message de
news:
> merci pour ta réactivité!
> A partir de ce que tu m'as dit j'ai tenté une astuce qui n'a pas
marché...Je
> me suis dit que si on pouvait récupérer les infos pour un champ caché, je
> pouvais avoir autant de champ caché que d'élément à postionner. Puis une
fois
> que j'ai positionné mon élément, d'affecter la même position à mon champ
> caché(qui a enableviewstate = true) .
> Comme ça j'avais pas de pb de codage puisque j'aurais récupéré la nouvelle
> position du champ caché côté serveur, mais apparement ça n'a pas marché et
je
> ne sais pas pourquoi?
>
> "c.sansus" a écrit :
>
> > Lorsque tu fais un postback tu ne peux récupérer que les valeurs des
objet du
> > type <input> et <select> (les bouton, dropdownlist et champs cachés)
tout le
> > reste est perdu !
> >
> > Pour ton problème, une solution simple : intégrer dans ta page un champ
> > caché dans lequel tu stockes les informations de position de tes
controles
> > (ce stockage est fait en javascript). Lors que tu fais un postback tu
> > récupères la valeur de ton champ caché et de la tu peux récupérer les
> > positions de tes objets.
> >
> > La difficulté dans tout ca, c'est de stocker de facon simple les
> > informations de position .... bon courage :D
> >
> > "sphax" wrote:
> >
> > > Bonjour,
> > > J'ai créé un code javascript pour faire du drag and drop avec des
labels et
> > > des textboxs (tous les 2 en version HTML et non webform).
> > >
> > > Mon objectif est le suivant:
> > > Je veux pourvoir créer une sorte de petit "designer" comme dans visual
> > > studio par exemple.
> > > Dans un premier temps, je veux pouvoir, pour les labels et les
textboxs
> > > déplacés, stocker dans une base sql leurs positions dans la page au
moment où
> > > l'on clique sur un bouton(webform ce coup-ci!:-))de validation.
> > >
> > > Problèmes rencontrés:
> > > lorsque je clique sur mon bouton, ma page effectue un postback et mes
> > > boutons reviennent en position initiale et du coup je n'ai dans la
base sql
> > > que leurs positions par défaut et non celle à l'instant du clique sur
le
> > > bouton.
> > >
> > > questions:
> > > -comme faire pour régler ce problème?
> > > -puis-je depuis javascript indiquer de stocker des valeurs en
variables de
> > > session?
> > > -puis-je utiliser les propriétés du viewstate pour récupérer les
positions
> > > de control HTML si ils sont déclarés en runat=server?
> > > -existe-t-il une autre solution qui m'aurait échappée?
> > >
> > > un grand merci d'avance!