bonjour à tous,
J'aimerai récupérer le rendu, c'est à dire tout ce qui se trouve à l'intérieur, d'un panel de préférence si possible, sinon de quel autre controle est-ce possible ? comment puis-je procéder svp ?
Merci d'avance.
Version imprimable
bonjour à tous,
J'aimerai récupérer le rendu, c'est à dire tout ce qui se trouve à l'intérieur, d'un panel de préférence si possible, sinon de quel autre controle est-ce possible ? comment puis-je procéder svp ?
Merci d'avance.
Bonjour,
Tu pourrais faire quelque chose dans ce style :
En espérant t'avoir aidéCode:
1
2
3
4
5
6
7
8
9
10
11 public string RenderControl(Control ctrl) { StringBuilder sb = new StringBuilder(); using (StringWriter tw = new StringWriter(sb)) using (HtmlTextWriter hw = new HtmlTextWriter(tw)) { ctrl.RenderControl(hw); return sb.ToString(); } }
Sous quelle forme il te le faut ? Fichier ? Chaine de caractères ?
Tu peux utiliser la méthode RenderControl :
Code:
1
2
3
4
5 using (var writer = new StreamWriter(fileName)) using (var htmlWriter = new HtmlTextWriter(writer)) { myControl.RenderControl(htmlWriter); }
Merci beaucoup pour vos réponses.
ça fonctionne mais j'ai un petit souci.
Dans ce panel, j'ai des variables que j'implémente normalement au chargement de la page mais avec cette méthode, elles sont vides..
Comment pourrais-je procédé pour les implémenter en sachant que je le fais actuellement dans la méthode page_load() comme ça :
ou par lecture dans la BDD.Code:lbl_date.Text = FormatDateTime(Now, DateFormat.LongDate)
Place ton code pour récupérer l'HTML dans PreRender ou Render
Parfait, merci beaucoup pour votre aide !