RSS è un formato che permette la syndication di contenuti da risorse esterne, come ad esempio siti web o servizi di notizie, piuttosto che blog.
Questo script, da utilizzare come user control, ritorna comodo perchè è facilmente riutilizzabile.
Basta infatti specificarlo nella pagina in questo modo:
<aspitalia:rss url="miofeed.xml" runat="server" /> e quindi risulta semplice anche per specificarne in un numero maggiore, mantenendo sempre la stessa routine per l'estrazione e la visualizzazione a video. Ma ecco lo script, da salvare come rss.ascx: [code lang="aspx"]<%@ Import namespace="System.Data" %> <SCRIPT RUNAT="SERVER" LANGUAGE="C#"> string Title; string Description; // proprietà con l'URL del feed RSS private string url; public string Url { set { url = value; } } void Page_Load() { // carico i dati in un dataset DataSet ds = new DataSet("rss"); ds.ReadXml(url); // estratto titolo e descrzione Title = ds.Tables["channel"].Rows[0]["title"] as string; Description = ds.Tables["channel"].Rows[0]["description"] as string; rss.DataSource = ds.Tables["item"]; rss.DataBind(); } </SCRIPT> <asp:repeater id="rss" runat="Server"> <HeaderTemplate> <h1><%#this.Title%></h1> <h3><%#this.Description%></h3> </HeaderTemplate> <ItemTemplate> <h4><a href="<%# DataBinder.Eval(Container.DataItem, "link") %>"> <%# DataBinder.Eval(Container.DataItem, "title") %></a></h4> <p><%# DataBinder.Eval(Container.DataItem, "description") %></p> </ItemTemplate> </asp:repeater> Può essere una buona cosa quella di aggiungere, in cima allo user control, la possibilità di tenere in cache i dati, in modo da evitare che ogni richiesta vada a recuperare effettivamente via web il contenuto del feed RSS: <%@ OutputCache Duration="3600" VaryByParam="None" %>
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Nessuna risorsa collegata