OVH Cloud OVH Cloud

Echange de variables entre .ascx et .aspx

4 réponses
Avatar
ousta
Bonjour j'ai un petit probleme je ne souhaite pas utiliser les Session pour
le résoudre.

Jai une page toto.ascx et une titi.aspx je souhaite transferer la valeur
trouvée dans par exemple
string test;
de ma page .ascx a ma page .aspx.

J'ai essaye avec server transfer il n'a pas l'air compatible avec les
extensions .ascx quelqu'un aurait il une solution?
--
« La programmation est aujourd'hui une course
entre les ingénieurs informaticiens qui essaient
de construire des programmes plus grands et
mieux à l'épreuve des idiots, et l'univers qui essaie
de produire des idiots plus grands et plus idiots.
Jusqu'à présent, l'univers gagne. »
Rich Cook

4 réponses

Avatar
Aurélien [MS]
Bonjour,

Il faut que tu rendes ta string en public (en passant par une propriété
publique par exemple) dans ton ASCX.

Ensuite dans ta page ASPX, dans le code behind, il faut que tu déclares ton
WebUserControl avec le même nom que celui dans le HTML.
Tu pourras ensuite appeler ta propriété depuis ton code behind.

--
Aurélien Norie
Microsoft France
--------------------
Merci de bien vouloir répondre à ce message dans le newsgroup où il a été
posté. Je le consulte régulièrement.


"ousta" a écrit dans le message de news:

Bonjour j'ai un petit probleme je ne souhaite pas utiliser les Session
pour
le résoudre.

Jai une page toto.ascx et une titi.aspx je souhaite transferer la valeur
trouvée dans par exemple
string test;
de ma page .ascx a ma page .aspx.

J'ai essaye avec server transfer il n'a pas l'air compatible avec les
extensions .ascx quelqu'un aurait il une solution?
--
« La programmation est aujourd'hui une course
entre les ingénieurs informaticiens qui essaient
de construire des programmes plus grands et
mieux à l'épreuve des idiots, et l'univers qui essaie
de produire des idiots plus grands et plus idiots.
Jusqu'à présent, l'univers gagne. »
Rich Cook




Avatar
Pascal Mercier
La solution d'Aurélien est élégante (j'aime bien).
Je propose un autre moyen pour que toutes les classes (users control y
compris) d'une page ASP.NET partagent des données: utiliser
HttpContext.Items (de type IDictionary). HttpContext est accessible par
l'objet Page (Page.Context). HttpContext représente la requete Http en
traitement pour l'utilisateur en cours. En y placant des données dans sa
propriété Items vous partagez les objets qui s'y trouvent. Ceci permet par
exemple de gérer des propriétés dont la portée est la Page entière.

Voilà juste une autre façon de faire.

Cordialement,
Pascal Mercier - Microsoft France

"Aurélien [MS]" wrote in message
news:
Bonjour,

Il faut que tu rendes ta string en public (en passant par une propriété
publique par exemple) dans ton ASCX.

Ensuite dans ta page ASPX, dans le code behind, il faut que tu déclares


ton
WebUserControl avec le même nom que celui dans le HTML.
Tu pourras ensuite appeler ta propriété depuis ton code behind.

--
Aurélien Norie
Microsoft France
--------------------
Merci de bien vouloir répondre à ce message dans le newsgroup où il a été
posté. Je le consulte régulièrement.


"ousta" a écrit dans le message de news:

> Bonjour j'ai un petit probleme je ne souhaite pas utiliser les Session
> pour
> le résoudre.
>
> Jai une page toto.ascx et une titi.aspx je souhaite transferer la


valeur
> trouvée dans par exemple
> string test;
> de ma page .ascx a ma page .aspx.
>
> J'ai essaye avec server transfer il n'a pas l'air compatible avec les
> extensions .ascx quelqu'un aurait il une solution?
> --
> « La programmation est aujourd'hui une course
> entre les ingénieurs informaticiens qui essaient
> de construire des programmes plus grands et
> mieux à l'épreuve des idiots, et l'univers qui essaie
> de produire des idiots plus grands et plus idiots.
> Jusqu'à présent, l'univers gagne. »
> Rich Cook
>
>




Avatar
ousta
Merci a vous pour vos solutions et pour la rapidité de reponse :)

"Pascal Mercier" a écrit dans le message de
news:%
La solution d'Aurélien est élégante (j'aime bien).
Je propose un autre moyen pour que toutes les classes (users control y
compris) d'une page ASP.NET partagent des données: utiliser
HttpContext.Items (de type IDictionary). HttpContext est accessible par
l'objet Page (Page.Context). HttpContext représente la requete Http en
traitement pour l'utilisateur en cours. En y placant des données dans sa
propriété Items vous partagez les objets qui s'y trouvent. Ceci permet par
exemple de gérer des propriétés dont la portée est la Page entière.

Voilà juste une autre façon de faire.

Cordialement,
Pascal Mercier - Microsoft France

"Aurélien [MS]" wrote in message
news:
> Bonjour,
>
> Il faut que tu rendes ta string en public (en passant par une propriété
> publique par exemple) dans ton ASCX.
>
> Ensuite dans ta page ASPX, dans le code behind, il faut que tu déclares
ton
> WebUserControl avec le même nom que celui dans le HTML.
> Tu pourras ensuite appeler ta propriété depuis ton code behind.
>
> --
> Aurélien Norie
> Microsoft France
> --------------------
> Merci de bien vouloir répondre à ce message dans le newsgroup où il a


été
> posté. Je le consulte régulièrement.
>
>
> "ousta" a écrit dans le message de news:
>
> > Bonjour j'ai un petit probleme je ne souhaite pas utiliser les Session
> > pour
> > le résoudre.
> >
> > Jai une page toto.ascx et une titi.aspx je souhaite transferer la
valeur
> > trouvée dans par exemple
> > string test;
> > de ma page .ascx a ma page .aspx.
> >
> > J'ai essaye avec server transfer il n'a pas l'air compatible avec les
> > extensions .ascx quelqu'un aurait il une solution?
> > --
> > « La programmation est aujourd'hui une course
> > entre les ingénieurs informaticiens qui essaient
> > de construire des programmes plus grands et
> > mieux à l'épreuve des idiots, et l'univers qui essaie
> > de produire des idiots plus grands et plus idiots.
> > Jusqu'à présent, l'univers gagne. »
> > Rich Cook
> >
> >
>
>




Avatar
ousta
HttpContext n'est valable que sur une seule page non?
Quand je decharge ma page .ascx pour charger une page .aspx je perd toutes
mes variables stockées dans HttpContext


"Pascal Mercier" a écrit dans le message de
news:%
La solution d'Aurélien est élégante (j'aime bien).
Je propose un autre moyen pour que toutes les classes (users control y
compris) d'une page ASP.NET partagent des données: utiliser
HttpContext.Items (de type IDictionary). HttpContext est accessible par
l'objet Page (Page.Context). HttpContext représente la requete Http en
traitement pour l'utilisateur en cours. En y placant des données dans sa
propriété Items vous partagez les objets qui s'y trouvent. Ceci permet par
exemple de gérer des propriétés dont la portée est la Page entière.

Voilà juste une autre façon de faire.

Cordialement,
Pascal Mercier - Microsoft France

"Aurélien [MS]" wrote in message
news:
> Bonjour,
>
> Il faut que tu rendes ta string en public (en passant par une propriété
> publique par exemple) dans ton ASCX.
>
> Ensuite dans ta page ASPX, dans le code behind, il faut que tu déclares
ton
> WebUserControl avec le même nom que celui dans le HTML.
> Tu pourras ensuite appeler ta propriété depuis ton code behind.
>
> --
> Aurélien Norie
> Microsoft France
> --------------------
> Merci de bien vouloir répondre à ce message dans le newsgroup où il a


été
> posté. Je le consulte régulièrement.
>
>
> "ousta" a écrit dans le message de news:
>
> > Bonjour j'ai un petit probleme je ne souhaite pas utiliser les Session
> > pour
> > le résoudre.
> >
> > Jai une page toto.ascx et une titi.aspx je souhaite transferer la
valeur
> > trouvée dans par exemple
> > string test;
> > de ma page .ascx a ma page .aspx.
> >
> > J'ai essaye avec server transfer il n'a pas l'air compatible avec les
> > extensions .ascx quelqu'un aurait il une solution?
> > --
> > « La programmation est aujourd'hui une course
> > entre les ingénieurs informaticiens qui essaient
> > de construire des programmes plus grands et
> > mieux à l'épreuve des idiots, et l'univers qui essaie
> > de produire des idiots plus grands et plus idiots.
> > Jusqu'à présent, l'univers gagne. »
> > Rich Cook
> >
> >
>
>