DataSource personalizzati

di: Giuseppe Marchi     04 Luglio 2007

L'unica modifica che va fatta alla vista (classe FeedDataSourceView) è semplicemente quella di prelevare l'indirizzo del feed da visualizzare tramite la chiamata al metodo GetFeedUrl() al posto che della proprietà FeedUrl.

Se non saranno utilizzati dei parametri, il DataSource prenderà comunque il valore di tale proprietà per il parsing del feed scelto.

Listato 8. Modifiche a FeedDataSourceView

protected override IEnumerable ExecuteSelect(DataSourceSelectArguments arguments)
{
  RssItemCollection rssColl = null;
  AtomCollection atomColl = null;

  switch (this.control.FeedType)
  {
    case FeedType.RSS:
      rssColl = GetRss(control.GetFeedUrl());
      return rssColl;
    case FeedType.ATOM:
      atomColl = GetAtom(control.GetFeedUrl());
      return atomColl;
    default:
      return null;
  }
}

Infine, inseriamo i parametri nel nostro DataSource personalizzato.

Listato 9. Utilizzare il parametro custom

<pep:FeedDataSource FeedType="RSS" ID="myFeedDataSource" runat="server">
  <Parameters>
    <asp:QueryStringParameter Name="FeedUrl" QueryStringField="feed" />
  </Parameters>
</pep:FeedDataSource>

<asp:Repeater ID="rep" runat="server" DataSourceID="myFeedDataSource">
  <ItemTemplate>
    <a href='<%# Eval("Url") %>' title='<%# Eval("Title") %>'><%# Eval("Title") %></a><br />
  </ItemTemplate>
</asp:Repeater>

Conclusioni

L'utilizzo dei controlli DataSource ha sicuramente semplificato la maggior parte delle operazioni di sviluppo di un sito Web ASP.NET, infatti attraverso l'utilizzo del binding dichiarativo, possiamo evitare la scrittura di tutte quelle righe di codice che servivano per la lettura delle informazioni dalla fonte di dati e per il databind.

Inoltre, grazie alla possibilità di estensione propria di tutto il .NET Framework 2.0, siamo in grado di scrivere i nostri controlli DataSource personalizzati per andare a pescare informazioni da strutture dati differenti da quelle offerte di default dal sistema e di filtrarle, attraverso l'implementazione dei parametri, in base a valori scelti a run-time.

È inoltre possibile implementare il supporto a design-time e per selezioni di informazioni in maniera asincrona.

Guide ASP.Net

Guida Windows Azure Code Snippets

Le migliori pratiche per far girare le applicazioni "in the cloud",...

Guida ASP.NET MVC Best Practices

Un workflow dettagliato e ricco di suggerimenti pratici per...

Guida ASP.NET Starter Kit

Un modo semplice per imparare ad utilizzare le tecnologie Microsoft...

Altre guide

Newsletter @Microsoft Dev

Ogni giovedì, direttamente nella tua e-mail: articoli, guide, tutorial e script ASP, ASP.Net, SQL server e IIS.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso Progettazione database

11 Maggio 2012 a Milano
Disponibilità: 6 Posti

Amministratore di Reti Windows Server 2008

11 Giugno 2012 a Milano
Disponibilità: 5 Posti

Nessun corso previsto