È possibile ottenere l'html generato dinamicamente nei tag asp.net utilizzando i moduli HTTP?

2

Voglio sapere se è possibile scrivere in un file di log / testo HTML generato dinamicamente nei tag asp.net in una pagina .aspx utilizzando i moduli HTTP.

Mediante HTML generato in modo dinamico, intendo il contenuto html generato da asp.net in risposta alle istruzioni tra i tag <%% > o <% #% > o <% $% >.

Quindi, quando asp.net esegue il rendering di una pagina, converte essenzialmente tutto in HTML. C'è qualche html statico scritto nella pagina asp.net, resto è ciò che chiamo HTML dinamicamente generato. Il mio obiettivo è scaricare da qualche parte tutto il contenuto HTML generato dinamicamente. Può essere fatto usando i moduli HTTP o qualsiasi altro meccanismo?

Esempio:
Se la pagina .aspx è come questa
...
<td>Total Credit Line </td>
<td><%=creditLimit.ToString("C")%></td>
...
Voglio che il modulo HTTP scriva in un file di log, l'HTML reso da <% = creditLimit.ToString ("C")% > tag asp e tutti gli altri tag asp sulla pagina. Il modulo HTTP sarebbe generico e può essere aggiunto a qualsiasi sito Web IIS. Nota che non ci sarebbero differenze nell'output che viene visto da un browser.

    
posta sanjay 20.02.2013 - 12:28
fonte

3 risposte

1

Puoi scaricare qualsiasi output HTML o testo valido che desideri in un LiteralControl , e verrà passato direttamente alla pagina di output senza essere elaborato sul server ASP.NET.

    
risposta data 20.02.2013 - 19:03
fonte
1

Se ti capisco correttamente di

A un livello fondamentale una pagina web non diversa da un servizio Web. Entrambi vanno su HTTP e restituiscono un'intestazione con alcuni dati nel corpo.

Devi solo accedere alla tua pagina .net come qualsiasi client Http, che restituirebbe l'HTML reso proprio come un servizio web restituisce HTML.

Vedi: Come richiedere dati usando la classe WebRequest

    
risposta data 20.02.2013 - 21:48
fonte
1

I want the HTTP Module to write in a log file, the HTML rendered by the <%=creditLimit.ToString("C")%> asp tag and all other asp tags on the page. The HTTP Module would be generic and can be added to any IIS website. Note that there would be no difference in the output that is seen by a browser.

Mettere da parte il motivo per cui vorresti farlo ...

Vorrei aggiungere un metodo all'oggetto chiamato ToStringAndLog() Il metodo lo registrerebbe quindi restituirà this.ToString()

Se desideri che una Registra un'Ora particolare ToString() utilizzi ToStringAndLog() o utilizzi sempre ToStringAndLog() e aggiungi un flag all'oggetto che attiva e disattiva la registrazione.

Potresti sovrascrivere ToString() se volessi aggiungere questa funzionalità a una tonnellata di codice esistente.

    
risposta data 21.02.2013 - 15:12
fonte

Leggi altre domande sui tag