begin process at 2010 03 22 05:28:48
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Chaînes de caratères

 > RECUPERER LE RENDU D'UN CONTROLE

RECUPERER LE RENDU D'UN CONTROLE


 Information sur la source

Note :
8,5 / 10 - par 2 personnes
8,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Chaînes de caratères Source .NET ( DotNet ) Classé sous :render, control, ajax, clientcallback, callback Niveau :Débutant Date de création :07/05/2005 Date de mise à jour :05/07/2005 16:03:08 Vu :14 212

Auteur : jesusonline

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note


 Description

Dans certains cas, il est interressant de récuperer le rendu, c'est à dire le code html, qu'un controle génére.

Je me suis servis de cette astuce, dans ma source sur le clientCallBack (http://www.aspfr.com/code.aspx?id=31245) en effet, lors du retour coté client du CallBack, je ne peux pas ecrire directement du HTML dans la page, mais je dois renvoyer une string, puis du javascript ecrit le code HTML dans la page.

Il existe aussi plein d'autres cas pour lesquels ca devrait servir.

Le fonctionnement du code n'a rien d'extraordinaire, j'ecris le rendu dans un stringwriter via la méthode RenderControl de l'objet Control

Source

  • Dim sw As New System.IO.StringWriter()
  • Dim htw As New HtmlTextWriter(sw)
  • Me.LeControl.RenderControl(htw) 'avec LeControl, le control que vous avez bien sur instancié
  • htw.Flush()
  • return sw.ToString()
        Dim sw As New System.IO.StringWriter()
        Dim htw As New HtmlTextWriter(sw)
        Me.LeControl.RenderControl(htw) 'avec LeControl, le control que vous avez bien sur instancié
        htw.Flush()
        return sw.ToString()

 Conclusion

Des problèmes, des remarques ?

la section commentaire est la pour ca :)


 Historique

05 juillet 2005 16:03:09 :
MAJ

 Sources du même auteur

Source avec Zip Source .NET (Dotnet) UTILISATION DE LA MÉTHODE SORT ET SORTDIRECTION AVEC UN GRID...
Source .NET (Dotnet) RESPONSE.FILTER : MANIPULATION DU STREAM DE SORTIE ASP.NET
Source avec Zip Source .NET (Dotnet) OPTIMISATION DE LA SERIALISATION JSON POUR LES LIST<T>
Source avec Zip Source .NET (Dotnet) CRAWLABLELINKBUTTON : UPDATEPANEL ET RÉFÉRENCEMENT
Source .NET (Dotnet) POSTBACKCONTROL - COMMUNICATION CLIENT/SERVEUR AVEC LES UPDA...

 Sources de la même categorie

FONCTION : REMPLACER LES CARRACTÈRES ACCENTUÉS PAR LEUR ÉQUI... par promeythey
CHERCHER ET REMPLACER UN MOT DANS UN FICHIER TEXTE par roro59650
CONVERSION CARACTÈRES UTF-8 VERS FRANÇAIS par EricDD
FONCTION UCFIRST EN ASP par DesignerCreator
Source .NET (Dotnet) FONCTIONS DE VÉRIFICATION DE LA SYNTAXE D'UNE CHAINE par vladam

 Sources en rapport avec celle ci

CREATION D'UN AUTOCOMPLETE JQUERY AVEC UN CODE SOURCE ASP ET... par dedebis84
Source .NET (Dotnet) POSTBACKCONTROL - COMMUNICATION CLIENT/SERVEUR AVEC LES UPDA... par jesusonline
Source avec Zip Source avec une capture Source .NET (Dotnet) UN WEBCONTROL : LE CALLBACKBUTTON par cYoann
Source avec Zip Source .NET (Dotnet) .NET 2 - UTILISATION DU CLIENTCALLBACK AU SEIN D'UN CONTROLE... par jesusonline
Source avec Zip Source .NET (Dotnet) .NET2 - REMPLIR UN DROP EN FONCTION D'UN AUTRE GRACE AU CLIE... par jesusonline

Commentaires et avis

Commentaire de Jamesbound le 17/01/2006 19:40:35

Excellent! En plein ce que je cherchais Merci!!!

Commentaire de armoramour le 07/02/2007 01:31:37

Bonjour,

Testé avec une page construite en utilisant une page "master"... l'appel à RenderControl provoque une erreur de type "il faut que le contrôle soit inclus dans un form avec runat=server"...

Je n'arrive pas à contourner ce problème.

Bien à vous

Commentaire de jesusonline le 08/02/2007 11:40:12 administrateur CS

Bonjour il suffit simplement de mettre ton controle dans une balise form, sinon cherche sur ce site j'ai déjà parlé de ce problème et expliqué comment cela fonctionne.

Commentaire de armoramour le 08/02/2007 11:53:59

Merci pour ta réponse. J'ai trouvé la solution cette nuit : je voulais récupérer le rendu "complet" d'un gridview, ce qui n'est pas possible (mais je ne le savais pas) le rendu de se contrôle se faisant ligne par ligne, aussi pour pallier à ce problème, j'ai construit un tableau dynamique à l'aide de "repeater" et j'obtiens exactement ce que je voulais : ne pas créer à la "main" ce qui existait déjà.

La méthode RenderControl avec GridView fonctionne ainsi tab.Rows(x).RenderControl(flux)

Merci encore Nath

Commentaire de jesusonline le 08/02/2007 12:00:33 administrateur CS

Hum, ce que tu me dis me parait étrange ... si tu fais un render sur un gridview je pense qu'il le fait complétement, il faudrais que je regarde d'avantages.

Commentaire de armoramour le 08/02/2007 16:43:24

Je n'arrive plus à retrouver "mes sources" microsoft confirmant que les gridview, formview, datalist donne le "rendu html" seulement ligne par ligne et sous forme <tr> <td> </td> </tr>...

J'ai testé et vérifié, c'est exactement le comportement que j'ai constaté, ligne par ligne le rendu html t'envoie un tableau (sans mise en form, tu demandes le rendu du gridview : tu lèves une exception le gridview doit être dans "la balise form runat=server" ... (il y est déjà !)

Aucun problème avec le repeater... ça fonctionne parfaitement.

Si tu trouves la solution pour le gridview. Fais moi signe Merci

Nath

Commentaire de jesusonline le 08/02/2007 17:03:08 administrateur CS

OK, je viens de comprendre ... il suffit simplement de surcharger la méthode VerifyRenderingInServerForm de la page (merci Reflector :-)) tu peux en savoir plus ici : http://blogs.codes-sources.com/cyril/archive/2005/10/05/11985.aspx

Commentaire de armoramour le 08/02/2007 17:17:40

Je ne suis pas certaine de récupérer mon "tableau mis en forme et avec les données liées" de cette façon : la récupération des contrôles étant faite en pre-init... m'enfin, lorsque j'aurais un peu de temps je vérifierai cette formule car elle est intéressante d'un point de vue "générique".

Merci à toi d'avoir pris le temps de "fouiller"

Nath.

Commentaire de jesusonline le 08/02/2007 17:34:31 administrateur CS

Il me semble bien que si, il suffit de faire un override sur le page_load et de le laisser vide, c'est cette méthode qui vérifie si le controle est dans un form.

override void VerifyRenderingInServerForm(){
    // on ne lance jamais d'exception !
}

Si tu regardes dans Reflector tu verras comment ca fonctionne et qui appelle la méthode, tu y decouvriras pleins de choses interessante.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Control ajax Reorderlist [ par yanis7518 ] Salut a tous.Quelqu'un aurait-il deja utilisé le control ajax reorderlist??? parce que j'arrive pas a faire comme dans l'exemple donner sur le site.en ajax control toolkit et formview ca coince [ par jirap ] Bonjour,ValidatorCalloutExtender, nouveauté dans les objets d'AjaxControlToolkit fonctionne du feu de dieu, dans un formulaire simple. Mais dès qu'il comment installer le toolkit ? [ par hay2006 ] salut,je veins de decouvrir Ajax et ses possibiltés de merveilles avec son control toolkit.mais malheureusement, je ne sias pas comment l'installer po Expression reguliere et mise en forme d'une ValidatorCalloutExtender (ajax Control Toolkit) [ par nicolas4200 ] Bonjour à tous,Je me permet de vous solliciter à nouveau afin de résoudre deux soucis qui ont un rapport avec la validation.1/Le premier concerne les comment ajouter ajax control toolkit [ par faridas ] salut tout le monde! je voudrais savoir comment installer ou ajouter ajax control toolkit j'utilise vb 2005 et framework sdk 2.0 merci d'avance de v Mettre un site Ajax en production [ par lelynx ] Salut, J'ai une application Ajax développée avec VS2008. Elle est composée d'une page aspx dans laquelle se trouve le code js. La partie communicatio Acces à un control [ par henritayim ] salut à tous, je cherche à acceder à control present dans un formview; lorsque j'essaie de taper l'ID de ce control, une erreur se produit : ce contro ASP.NET AJAX ou MVC [ par Djzlouk ] Bonjour, Je commence à bien de débrouillé pour créer des site web & co... Mais j'ai une GRANDE question ! Si on se lance dans le modele MVC, on ne p Asp et ajax [ par xadimo ] salut! En fait moi j'utilise des Response.Redirect(""); dans des liens de qui se trouvent dans ma master page avec un UpdatePanel. Mon probleme c que user control [ par verbeyst ] Bonjour à tous, Je découvre les user contrôls (contrôles utilisateur). Au stade actuel de mes connaissances, je n'arrive pas encore à cerner l'avanta


Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
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