[C#] Remplissage Panel avec HtmlTextWriter

Résolu
The Red Man Messages postés 111 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 13 juin 2010 - 1 mai 2008 à 15:47
furefure Messages postés 2 Date d'inscription mardi 13 avril 2010 Statut Membre Dernière intervention 22 mars 2011 - 21 avril 2010 à 15:26
Bonjout,

J'aimerai remplir dynamique un panel grâce à HtmlTextWriter, le problème est que rien ne s'affiche lors d'un click de bouton.
Voici ma méthode :
Dans cette méthode, il n'y a tout le corps de la méthode. A titre de test, je voulais afficher trois colonnes d'en-tete.

///

<summary>

/// Fill referenciel panel with an id

///</summary>

///Activity domain id

///<returns>Html Table</returns>

public
HtmlTextWriter FillRefPane(
int id){

TextWriter stringWriter =
new
StringWriter();

HtmlTextWriter html =
new
HtmlTextWriter(stringWriter); 

// begin table taghtml.RenderBeginTag(

HtmlTextWriterTag.Table);
// <table>

// begin table header taghtml.RenderBeginTag(

HtmlTextWriterTag.Tr);
// <tr>html.RenderBeginTag(

HtmlTextWriterTag.Th);
// <td>html.Write(

"RefHeaderText1");html.RenderEndTag();

// </td>html.RenderBeginTag(

HtmlTextWriterTag.Th);
// <td>html.Write(

"RefHeaderText2");html.RenderEndTag();

// </td>html.RenderBeginTag(

HtmlTextWriterTag.Th);
// <td>html.Write(

"RefHeaderText3");html.RenderEndTag();

// </td>html.RenderEndTag();

// </tr>

return html;}

 

Et la méthode de Panel que je souhaitai utiliser est  this
.RefPane.RenderControl(
this.FillRefPane(1));

Pouvez-vous me dire ce que je dois faire pour afficher la table ! Merci !

3 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
2 mai 2008 à 01:07
Bonjour,

http://msdn2.microsoft.com/en-us/library/system.web.ui.control.rendercontrol.aspx 

tu fais tout le contraire de la méthode RenderControl, normalement on lui passe un TextWriter pour que le controle écrive dedans, et non le contraire ....
Bref, tu ne peux pas utiliser la méthode RenderControl pour faire ce que tu souhaites. Pourquoi ne pas tout simplement utiliser un contrôle Literal ainsi que sa propriété Text ?
En tout cas, je ne comprend pas l'interet de vouloir "remplir" un panel avec un TextWriter c'est la logique inverse d'ASP.net ...

<hr />Cyril - MSP - MCPD ASP.net & MCTS SQL - Consultant indépendant
3
The Red Man Messages postés 111 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 13 juin 2010 2
3 mai 2008 à 21:46
Salut à toi,

En effet, je me suis rendu compte tout seul et j'ai même utiliser le control Litteral pour pour afficher ce que je souhaite et l'afficher grace à la propriété Text.

J'ai été bête de faire ce que j'ai fait !

N'importe quoi.

Enfin bon, j'ai trouvé la solution seul ! mais merci pour ton post. J'aurai dû venir que le problème a été résolus.
0
furefure Messages postés 2 Date d'inscription mardi 13 avril 2010 Statut Membre Dernière intervention 22 mars 2011
21 avril 2010 à 15:26
bon je voudrais mettre un texte dans un panel en C#.net. une idée ?
0
Rejoignez-nous