begin process at 2012 05 27 17:28:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

WebForms

 > 

Autre

 > 

Comment écrire un code html dans un textbox ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Comment écrire un code html dans un textbox ?

lundi 18 décembre 2006 à 11:55:38 | Comment écrire un code html dans un textbox ?

mdemo

Bonjour,

Je souhaite afficher le code complet d'un iframe dans une page, du genre "<iframe> id="test" etc...</iframe>.

Ce code est généré dynamiquement, et l'objectif est que les visiteurs du site puissent le copier en le sélectionnant.

Je l'ai mis dans un textbox, avec enabled=false, et tout se passe bien dans IE. Le enabled est à false afin d'éviter l'erreur qui dit que l'on cherche à exécuter un script...

Mais dans firefox la sélection est impossible, donc il me faut une autre solution.

Avez-vous une idée ?

Un server.htmlencode transforme le code donc ne me convient pas. J'ai aussi pensé à ajouter un bouton copier dans le clipboard, mais là encore ça n'a pas l'air simple avec firefox...

Merci d'avance.
lundi 18 décembre 2006 à 13:02:14 | Re : Comment écrire un code html dans un textbox ?

jesusonline

Membre Club Administrateur CodeS-SourceS
Bonjour,

je n'ai pas trop compris ce que tu cherches à faire ? pourquoi un server.htmlencode ne te convient pas ? c'est normal qu'il transforme le code en fait il remplace les caractères spéciaux par exemple > vers &gt; dans la source HTML mais en rendu tu verras bien un > ca évite que le navigateur interprete le signe comme un début de balise HTML ...


Cyril - MVS - MCP
lundi 18 décembre 2006 à 16:16:36 | Re : Comment écrire un code html dans un textbox ?

mdemo

Bonjour Cyril,

Je comprends bien l'intérêt du htmlencode mais dans mon cas je souhaite donner la possibilité de copier le code exact d'un iframe.
Regarde par exemple youtube : pour chaque video tu as le code qu'il te suffit de coller sans aucune modif, par exemple:

<object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/12PsUW-8ge4"></param><param name="wmode" value="transparent"></param><embed src=" [ Lien ]" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object>

Idem daylimotion qui le donne dans un div.

Je te rassure mon appli n'a aucun rapport, mais le principe est identique de ce point de vue.

Un validaterequest à false doit faire l'affaire, mais je ne suis pas fana.

As-tu une idée ?

Merci.

lundi 18 décembre 2006 à 16:42:57 | Re : Comment écrire un code html dans un textbox ?

jesusonline

Membre Club Administrateur CodeS-SourceS
Je comprend pas quel est le problème !

latextbox.text = "<object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/12PsUW-8ge4"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/12PsUW-8ge4" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object>";

La propriété text est automatiquement htmlencodé, et ca fera comme sur youtube & co, qu'est-ce qui ne te convient pas la dedans ?


Cyril - MVS - MCP
lundi 18 décembre 2006 à 18:27:01 | Re : Comment écrire un code html dans un textbox ?

mdemo

C'est exactement ce que je fais, et en effet ça s'affiche correctement sauf que au prochain aller-retour serveur tu te retrouves avec :

Une valeur Request.Form potentiellement dangereuse a été détectée à partir du client (ctl00$ContentPlaceHolder1$TxtBxIF="<iframe id=''MonIframe...").

D'où le enabled=false qui évite ça parfaitement, mais je ne peux alors sélectionner le texte que dans IE et pas dans Firefox.

Et d'où aussi la solution radicale de mettre le validaterequest à false.

Ou suis-je complètement à côté de la plaque ?

lundi 18 décembre 2006 à 18:41:42 | Re : Comment écrire un code html dans un textbox ?

jesusonline

Membre Club Administrateur CodeS-SourceS
tu peux aussi mettre ton texte dans un div que tu modifies en CSS pour qu'il soit plus joli :-) et vu que tu n'auras plus de champs formulaire tu n'auras pas ce message. Mais désactiver le validateRequest n'est pas une chose horrible je le fais sur quasi tout mes sites, il suffit de savoir ce qu'on fait derriere.


Cyril - MVS - MCP
lundi 18 décembre 2006 à 19:08:33 | Re : Comment écrire un code html dans un textbox ?

mdemo

Merci Cyril pour tes conseils, mais sous quelle forme mets-tu le texte dans un Div ? Le texte est généré côté serveur, et j'ai déjà essayé avec un label, mais sans succès.
 
Concernant l'annulation du validateRequest, peux-tu me confirmer qu'à partir du moment où il n'y a aucune zone de saisie dans la page il n'y a aucun risque dans d'un point de vue attaque que dysfonctionnement ? (ça me semble évident mais j'aimerais en avoir la confirmation).

Merci.
lundi 18 décembre 2006 à 19:29:26 | Re : Comment écrire un code html dans un textbox ?

jesusonline

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
ValidateRequest permet juste d'éviter qu'on enregistre et affiche du texte contenant du script javascript ... du moment que tu n'affiches pas le texte que l'utilisateur peut saisir il n'y a aucun soucis.

Pour afficher du texte dans un div c'est tout con :

<div class="TextAreaLike">
<asp:literal runat="server" id="lit1" />
</div>

lit1.text = Server.htmlencode(toto);


Cyril - MVS - MCP
lundi 18 décembre 2006 à 21:22:17 | Re : Comment écrire un code html dans un textbox ?

mdemo

En fait je viens de réessayer avec le label et ça marche à partir du moment où fait le htmlencode.
Ta solution avec le literal marche impeccable aussi.

Mon erreur était de penser que le htmlencode allait modifier l'apparence du texte à l'affichage. C'est d'ailleurs le cas quand on voit le source de la page, car c'est le but du jeu,  mais à l'affichage le texte est effectivement décodé et réapparait correctement, sans provoquer d'erreur.

Encore merci pour ton aide.



Cette discussion est classée dans : textbox, écrire, code, html, copier


Répondre à ce message

Sujets en rapport avec ce message

Code HTML dans les textbox [ par hudon77 ] Bonjours a tous.... Quand j'avais mon forum en ASP le monde pouvais mettre du code html dans les textbox mias en .NET ca marche pu..... que faire ??Ni Comment détecter du code HTML dans un textbox [ par asasas ] SalutVoilà, j'aimerais déceller le moindre tag HTML dans mon textbox...En sachant que si j'ai par exemple la chaine : " " dans mon textbox, celle ci n analyser code Source HTML dans un textBox multilignes [ par alnaar ] Bon grâce à ce bout de code: WebRequest req = HttpWebRequest.Create(monURL.Text); WebResponse res = req.GetResponse(); StreamReader sr = new StreamRe Recuperer date d'un CalendarExtender [ par SaiYan5102 ] Bonjour, J'ai un formulaire avec une TextBox associée à un CalendarExtender. Le texte de ma TextBox par défaut est "Cliquez ici". L'utilisateur cliqu Multiview+ html+ [ par zekotch ] je cherche un moyen de changer le contenu de ma multiview a partir du bouton html. le probleme je ne sais pas comment specifier un code dans mon lien balise html et code-behind [ par hugo7 ] Bonjour à tous je voudrais savoir si il est possible de paramétrer en code-behind un lien ou une autre balise html et si oui que faut t'il ajouter po Erreur Chargement Data ModalPopup Extender [ par AirT0n ] Hello, J'ai une Gridview avec un bouton lien "Editer" qui ouvre une fenetre popup avec les données de la ligne à modifier. Dans mon code c#, l'événem ~ Besoin d'aide sur un code HTML ~ [ par julien7212 ] Julien7212 < Ne pas interpreter le code HTML dans un <ItemTemplate><asp:TextBox> [ par marliche0 ] Bonjour,J'ai un gridview qui affiche des données de ma base et je souhaiterais qu'a l'affichage cela n'interprete pas le code HTML.Par exemple si je n Créer une pagination pour un tableau HTML synamique (code behind) [ par Fanny04 ] Bonjour,Je souhaite créer une pagination pour un tableau HTML dynamique (créé en code behind)Je n'ait rien trouvé de concluant.Merci pour botre aide


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,655 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales