IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Ajout de code html depuis le code behind


Sujet :

ASP.NET

  1. #1
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    50
    D�tails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 50
    Par d�faut Ajout de code html depuis le code behind
    Bonjour � tous,

    Je bloque sur un truc idiot

    Je cherche a ajouter un tableau html dans ma page asp depuis mon code behind..

    j'ai donc naturelement fais un Response.Write("<table>...");

    Mais pour une raison que j'ignore ca me le rajoute toujours apres ma balise de fin </html>

    Mon but final �tant d'avoir une classe � qui l'ont transmet le Page.Response pour qu'elle ajoute un tableau html et change le content type pour l'ouvrir dans Excel.

    Je pr�cise que je ne peux toucher le fichier .aspx vu que c'est une classe qui pourrait �tre utilis� n'importe ou.

    Cela vous parle ?

  2. #2
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    50
    D�tails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 50
    Par d�faut
    Voici mon code de test:

    code behind aspx.cs
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
                protected void Page_Load(object sender, EventArgs e)
                {
                    Response.ContentType = "application/vnd.ms-excel";
                    Response.Write("<table><tr><td>test</td></tr></table>");
                }
    et la page aspx:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="unit.aspx.cs" Inherits="test.unit" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head >
    <title>Untitled Page</title>
    </head>
    <body>
    </body>
    </html>
    petite pr�cision le code html est ajout� en d�but de page en utilisant response.write et en fin de page en passant par un page.controls.add

  3. #3
    Membre chevronn�
    Inscrit en
    Juin 2007
    Messages
    459
    D�tails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 459
    Par d�faut
    Tu peux regarder du c�t� du HtmlGenericControl.

  4. #4
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    50
    D�tails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 50
    Par d�faut
    Hum.. le probl�me c'est que je n'est aucun moyen d'ajouter un placeholder ou quoi que ce soit dans la page asp.

  5. #5
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    50
    D�tails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 50
    Par d�faut
    J'ai trouv� une solution pour le cas ou j'utilise de page.Response.Write("") il faut ajoute un Response.End

    Bon maintenant soit je trouve pourquoi mon control HTMLtable est ajout� a la fin soit je trouve comment le convertir en string..

  6. #6
    Membre exp�riment�
    Inscrit en
    Janvier 2005
    Messages
    218
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 218
    Par d�faut
    Tu peux g�n�rer tout le code HTML que tu souhaites en utilisant des objets c#.

    Il suffit de d�clarer un objet Table ASP.NET dans ta page WEB, et une fois ceci fait, tu peux lui ins�rer ce que tu veux dedans.

    Exemple :

    dans le code ASPX
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <asp:Table runat="Server" id="Tbl_test"></asp:Table>
    dans le Page_Load

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    TableRow TR = new TableRow();
    TableCell TD = new TableCell();
    Label LB = new Label();
     
    LB.Text = "Ceci est un test";
    LB.ForeColor = Color.Black;
     
     
    TD.Controls.Add(LB);
    TR.Controls.Add(TD);
    Tbl_test.Controls.Add(TR);

  7. #7
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    50
    D�tails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 50
    Par d�faut
    Comme je l'ais dit plus haut je n'ai pas acc� au code ASPX..

    Mais j'ai trouv� une solution

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
            public string GetControlHtml(Control c)
            {
                System.IO.
                StringWriter sw = new System.IO.StringWriter();
                HtmlTextWriter hw = new HtmlTextWriter(sw);
                c.RenderControl(hw);
                return sw.ToString();
            }

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. champ formulaire endommage avec code html depuis bdd
    Par cd090580 dans le forum Langage
    R�ponses: 2
    Dernier message: 24/08/2007, 19h14
  2. Afficher une page HTML � partir de code HTML
    Par lilou77 dans le forum Interfaces Graphiques en Java
    R�ponses: 1
    Dernier message: 18/01/2007, 11h52
  3. [HTML] mettre un code html visible sur la page
    Par Him dans le forum Balisage (X)HTML et validation W3C
    R�ponses: 3
    Dernier message: 07/08/2006, 10h31
  4. [PHP-JS] Supprimer le code javascript d'un code HTML
    Par AlphaYoDa dans le forum Langage
    R�ponses: 6
    Dernier message: 21/02/2006, 22h40
  5. [JS] Appeler du code C# depuis du code JS
    Par DontNet dans le forum ASP.NET
    R�ponses: 3
    Dernier message: 05/05/2005, 19h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo