Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 28
  1. #1

    [C#] buffer, catturare output

    sembra una banalità ma non riesco a risolverla.

    Una classe esterna che con o senza parametro in ingresso Response della pagina richiamante dovrebbe permettere a questa di scrivere quello che vuole col banale Response.Write ma allo stesso tempo, a fine pagina, riuscire a leggere tutto quello che è stato mostrato all'utente.

    in php c'è la ob_get_contents ... in C# ho trovato tutto sul Buffer, ma nulla che mi dice come prenderlo ... ok, Flush() per inviarlo, ma il contenuto nooooo ???


    Grazie per l'eventuale risposta
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,474

    Moderazione

    Trattandosi di ASP.NET, ti sposto nel forum dedicato.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3

    Re: Moderazione

    Originariamente inviato da alka
    Trattandosi di ASP.NET, ti sposto nel forum dedicato.
    ops ... chiedo scusa , non avevo notato il forum
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    codice:
    System.Web.HttpContext.Current.Response.Write(...
    ps. Non avevi notato il forum?
    Ebbene, ci siamo pure noi, pochi ma buoni

    ciao
    Pietro

  5. #5
    Originariamente inviato da pietro09
    codice:
    System.Web.HttpContext.Current.Response.Write(...
    ps. Non avevi notato il forum?
    Ebbene, ci siamo pure noi, pochi ma buoni

    ciao
    grazie pietro

    ... ma quello che mi hai postato se non erro è solo il
    Response
    della pagina ... io non ho bisogno di scrivere,
    ho bisogno, alla fine della stesa, tramite una chiamata ad un metodo di una classe, di prendre quanto è stato scritto (senza saperlo a priori e senza vincolare la scrittura nella pagina) ... insomma, l'output mostrato, per intero, al client.

    Qualcosa tipo
    System.Web.HttpContext.Current.Response.Written();

    per dare un'idea
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  6. #6
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    non ho voglia di scriverlo in c####

    codice:
        Private Sub Page_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.PreRender
            Dim Html$ = ""
            Dim stringWriter As StringWriter
            Dim sourceCode As HtmlTextWriter
    
    
            'catturo il codice HTML e lo salvo in una stringa
            stringWriter = New StringWriter
            sourceCode = New HtmlTextWriter(stringWriter)
            Me.RenderControl(sourceCode)
            sourceCode.Flush()
    
            Html = stringWriter.ToString
    
            If Not sourceCode Is Nothing Then sourceCode.Close()
            If Not stringWriter Is Nothing Then stringWriter.Close()
    
            Html = "<pre>" & Server.HtmlEncode(Html) & "</pre>"
            Response.Write(Html)
            Response.End()
    
    
        End Sub
    Pietro

  7. #7
    Originariamente inviato da pietro09
    non ho voglia di scriverlo in c####
    ed io secondo te ho voglia di imparare VB ?


    grazie, comunque sia credo sia chiaro, unica cosa ... Me cos'è ?
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  8. #8
    per HTML generato a manina
    puoi usare un controllo Literal
    scrivere dentro li e hai sempre il testo a disposizione..

  9. #9
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da andr3a
    ed io secondo te ho voglia di imparare VB ?


    grazie, comunque sia credo sia chiaro, unica cosa ... Me cos'è ?
    cosa è cosa?

    non è che ti serve per usare con ahah
    Pietro

  10. #10
    traduco in c#
    codice:
    		private void Page_Prerender(object sender, EventArgs e)
    		{
    			string Html="";
    			System.IO.StringWriter stringWriter = new System.IO.StringWriter();
    			System.Web.UI.HtmlTextWriter sourceCode = new HtmlTextWriter(stringWriter);
    			
    
    
    			//catturo il codice HTML e lo salvo in una stringa
    			this.RenderControl(sourceCode);
    
    
    			sourceCode.Flush();
    
    			Html = stringWriter.ToString();
    			if(sourceCode!=null)
    				sourceCode.Close();
    			if(stringWriter!=null)
    				stringWriter.Close();
    
    				//Questa parte serve per stampare a video L ' HTML
    			Html = "<pre>" + Server.HtmlEncode(Html) + "</pre>";
    			Response.Write(Html);
    			Response.End();
    		}
    nell'InitializeComponent aggiungi
    this.PreRender += new EventHandler(Page_Prerender);

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.