Nello script #366 abbiamo visto come Response.WriteFile permetta con estrema facilità di scrivere a video il contenuto di un file HTML.
Seppur comod, di default non permette di inserire in un punto esatto della pagina il contenuto del file da leggere. E' dunque necessario creare un custom control, cosa che lo rende facile e possibile:
using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text;
namespace ASPItalia.com.WebControls
{
public class WriteFile: System.Web.UI.WebControls.WebControl
{
// proprietà per indicare il file da cui leggere
public string FileName
{
set {filename = value;}
get {return filename;}
}
private string filename;
// scrivo a video
protected override void Render(HtmlTextWriter output)
{
// scrivo il contenuto del file
if (filename != null)
{
HttpContext ctx = HttpContext.Current;
ctx.Response.WriteFile(ctx.Server.MapPath(filename));
}
}
}
}Basterà inserire il control in questo modo per avere il contenuto del file stampato nell'esatto punto della pagina:
<aspitalia:WriteFile Filename="evidenza.htm" runat="server" />Questa tecnica permette, con facilità, di utilizzare anche il fragment caching su uno user control che contenga a sua volta questo custom control, in modo da minimizzare l'accesso al disco per la lettura del file.
Per approfondimenti si veda:
#366 - Leggere un file ed inserirne il contenuto sulla pagina corrente con ASP.NET
http://www.aspitalia.com/liste/usag/script.aspx?ID=366
Nota: Questo script contiene un allegato.
Esprimi il tuo giudizio su questo script:
Per procedere devi essere autenticato.
Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.









Stampa
Snippet
Download



