OVH Cloud OVH Cloud

affectation de "&" à imageurl

2 réponses
Avatar
Pierre
Bonjour,

Sur un contrôle serveur asp:image, je souhaiterais affecter la chaîne
"mapage.aspx?p1=0&p2=1".
Dans le code behind, j'utilise donc la propriété "imageurl" du contrôle.
Mais le résultat de l'affectation, dans la page html générée est :
<img src="mapage.aspx?p1=0&amp;p2=1">

Le "&" est converti en son équivalent html... ce qui n'est pas souhaitable
dans ce cas.

Quelqu'un sait-il comment procéder à une affectation directe, sans
conversion ?

Merci d'avance.

Pierre.

2 réponses

Avatar
Damien RICHARD
Regardes du coté de HTMLEncode


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

Bonjour,

Sur un contrôle serveur asp:image, je souhaiterais affecter la chaîne
"mapage.aspx?p1=0&p2=1".
Dans le code behind, j'utilise donc la propriété "imageurl" du contrôle.
Mais le résultat de l'affectation, dans la page html générée est :
<img src="mapage.aspx?p1=0&amp;p2=1">

Le "&" est converti en son équivalent html... ce qui n'est pas souhaitable
dans ce cas.

Quelqu'un sait-il comment procéder à une affectation directe, sans
conversion ?

Merci d'avance.

Pierre.




Avatar
Lionel Barré [MS]
En effet le contenu de la propriété imageUrl est encodé. Vous ne pouvez pas
contourner de façon simple ce comportement. Je m'étonne cependant que vous
chargiez une image à partir du résultat d'exécution d'une page ASPX résultat
en ASCII à moins que vous n'effectuiez une redirrection dans votre code. Dans
ce dernier cas il serait souhaitable d'inclure cette logique directement dans
votre page courante...


Si vous tenez néanmoins à charger votre image à partir d'une page aspx voici
plusieurs solutions:
Solution 1:
Vous passez les paramètres autrement Session par exemple.

Solution2:
Vous réécrivez le contrôle System.Web.UI.WebControl.Image en en héritant,
vous contrôlerez ainsi la façon d'encoder la propriété ImageUrl du contrôle.
Cette solution nécessite de sérieuse compétence en écriture de Custom
Controls afin qu'elle fonctionne dans de nombreux cas d'utilisation en
particulier dans des scénarion de DataBinding.
La méthode à réécrire est
protected virtual void AddAttributesToRender(HtmlTextWriter writer)





"Pierre" a écrit :

Bonjour,

Sur un contrôle serveur asp:image, je souhaiterais affecter la chaîne
"mapage.aspx?p1=0&p2=1".
Dans le code behind, j'utilise donc la propriété "imageurl" du contrôle.
Mais le résultat de l'affectation, dans la page html générée est :
<img src="mapage.aspx?p1=0&p2=1">

Le "&" est converti en son équivalent html... ce qui n'est pas souhaitable
dans ce cas.

Quelqu'un sait-il comment procéder à une affectation directe, sans
conversion ?

Merci d'avance.

Pierre.