OVH Cloud OVH Cloud

Récupération flux de sortie aspx

4 réponses
Avatar
Alan
Bonjour.
J'essaye de r=E9cup=E9rer le flux de sortie (html) au lieu de=20
l'envoyer au client, et r=E9cup=E9rer le code html.
J'ai essay=E9 d'utiliser l'objet Response, ou d'utiliser les=20
procedure 'Render' et 'RenderChildren', mais je n'arrive=20
pas =E0 intercepter le flux de sortie.
Si quelqu'un =E0 une id=E9e... Merci d'avance

4 réponses

Avatar
Zazar
Bonjour,

J'essaye de récupérer le flux de sortie (html) au lieu de
l'envoyer au client, et récupérer le code html.
J'ai essayé d'utiliser l'objet Response, ou d'utiliser les
procedure 'Render' et 'RenderChildren', mais je n'arrive
pas à intercepter le flux de sortie.



Il vous suffit de substituer la méthode render de votre page. Celle-ci sera
appelée au moment de la génération du rendu. Dans le corps de votre méthode,
vous faîtes un appel à la méthode Render de la classe mère et vous obtenez
le rendu html de votre page.

--
Zazar
Avatar
Merci, mais cela ne me mene nulle part, puisqsue je suis
incapable de récupérer le contenu de mon objet
htmltextwriter. A moins que je n'ai manqué un épisode.
Pourriez-vous me montrer un exemple de la procédure SVP?

-----Message d'origine-----
Bonjour,

J'essaye de récupérer le flux de sortie (html) au lieu




de
l'envoyer au client, et récupérer le code html.
J'ai essayé d'utiliser l'objet Response, ou d'utiliser




les
procedure 'Render' et 'RenderChildren', mais je n'arrive
pas à intercepter le flux de sortie.



Il vous suffit de substituer la méthode render de votre


page. Celle-ci sera
appelée au moment de la génération du rendu. Dans le


corps de votre méthode,
vous faîtes un appel à la méthode Render de la classe


mère et vous obtenez
le rendu html de votre page.

--
Zazar


.



Avatar
Lionel Barré [MS]
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Text;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace WebApplication1
{
/// <summary>
/// Summary description for WebForm1.
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
}

protected override void Render(HtmlTextWriter writer)
{
StringBuilder builder = new StringBuilder();
StringWriter strWriter = new StringWriter( builder );
HtmlTextWriter HtmlWriter = new HtmlTextWriter( strWriter );
base.Render (HtmlWriter);
writer.Write( builder.ToString() );
}


#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}


L'example de code ci-dessus vous permettera de récupérer le code html de la
page dans un objet StringBuilder ici je le renvois alors sur la page. Mais
derrière vous pouvez le réutiliser.

"" a écrit :

Merci, mais cela ne me mene nulle part, puisqsue je suis
incapable de récupérer le contenu de mon objet
htmltextwriter. A moins que je n'ai manqué un épisode.
Pourriez-vous me montrer un exemple de la procédure SVP?

>-----Message d'origine-----
>Bonjour,
>
>> J'essaye de récupérer le flux de sortie (html) au lieu
de
>> l'envoyer au client, et récupérer le code html.
>> J'ai essayé d'utiliser l'objet Response, ou d'utiliser
les
>> procedure 'Render' et 'RenderChildren', mais je n'arrive
>> pas à intercepter le flux de sortie.
>
>Il vous suffit de substituer la méthode render de votre
page. Celle-ci sera
>appelée au moment de la génération du rendu. Dans le
corps de votre méthode,
>vous faîtes un appel à la méthode Render de la classe
mère et vous obtenez
>le rendu html de votre page.
>
>--
>Zazar
>
>
>.
>



Avatar
Alan
Ca fonctionne impec, merci bcp

-----Message d'origine-----
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Text;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace WebApplication1
{
/// <summary>
/// Summary description for WebForm1.
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
private void Page_Load(object sender,


System.EventArgs e)
{
// Put user code to initialize the


page here
}

protected override void Render


(HtmlTextWriter writer)
{
StringBuilder builder = new


StringBuilder();
StringWriter strWriter = new


StringWriter( builder );
HtmlTextWriter HtmlWriter = new


HtmlTextWriter( strWriter );
base.Render (HtmlWriter);
writer.Write( builder.ToString() );
}


#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required


by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// Required method for Designer support -


do not modify
/// the contents of this method with the


code editor.
/// </summary>
private void InitializeComponent()
{
this.Load += new


System.EventHandler(this.Page_Load);
}
#endregion
}
}


L'example de code ci-dessus vous permettera de


récupérer le code html de la
page dans un objet StringBuilder ici je le renvois alors


sur la page. Mais
derrière vous pouvez le réutiliser.

"" a écrit :

Merci, mais cela ne me mene nulle part, puisqsue je




suis
incapable de récupérer le contenu de mon objet
htmltextwriter. A moins que je n'ai manqué un épisode.
Pourriez-vous me montrer un exemple de la procédure




SVP?

>-----Message d'origine-----
>Bonjour,
>
>> J'essaye de récupérer le flux de sortie (html) au




lieu
de
>> l'envoyer au client, et récupérer le code html.
>> J'ai essayé d'utiliser l'objet Response, ou




d'utiliser
les
>> procedure 'Render' et 'RenderChildren', mais je




n'arrive
>> pas à intercepter le flux de sortie.
>
>Il vous suffit de substituer la méthode render de




votre
page. Celle-ci sera
>appelée au moment de la génération du rendu. Dans




le
corps de votre méthode,
>vous faîtes un appel à la méthode Render de la




classe
mère et vous obtenez
>le rendu html de votre page.
>
>--
>Zazar
>
>
>.
>



.