Patrice Lamarche
Créer des contrôles sources de données (DataSource objects) avec ASP.net 2
Développement d'un contrôle DataSource qui permet d'effectuer du databinding avec des photos du site Flickr.
Par Patrice Lamarche publié le 19/08/2007 à 23:05, lu 6911 fois, 6 pages
 5 | Utilisation du FlickrDataSource
Afin d'utiliser le contrôle Source de données, il vous suffit de le rajouter à votre Toolbox en faisant un clic droit et en sélectionnant Choose Items... Sélectionner l'assembly puis validez. Glissez ensuite le contrôle sur une page ainsi qu'un contrôle d'affichage tel qu'un DataList ou un repeater.

<asp:Repeater ID="dtPhotos" runat="server" DataSourceID="FlickrDataSource1">

        <ItemTemplate>

        <a href='<%#Eval("WebUrl") %>'><img src='<%#Eval("SmallUrl") %>' /></a>  

        </ItemTemplate>

        </asp:Repeater>

Vous pouvez binder n'importe quel propriété de l'objet Photo proposé par Flickrnet puisque le FlickrDataSource renvoi en réalité un tableau de Photo. Vous avez donc la possibilité d'afficher les miniatures en utilisant les propriétés LargeUrl, MediumUrl, SmallUrl, SquareThumbnailUrl ou encore ThumbnailUrl, de récupérer le titre de la photo grâce à la propriété Title et d'indiquer la date de prise de la photo grâce à la propriété DateTaken.
 
/content/5da97713-037d-441d-88ed-51bece6c7028/image3.png
 
Afin de configurer le contrôle FlickrDataSource vous n'avez qu'à cliquer sur le smarttag et le lien « Configure Data Source » pour voir s'afficher la fenêtre de configuration.
 
/content/5da97713-037d-441d-88ed-51bece6c7028/image4.png
 
Cette fenêtre vous permet de saisir votre clé fournie par Flickr ainsi qu'un nom d'utilisateur qui sera utilisé pour récupérer tous les sets de Photos.
 
/content/5da97713-037d-441d-88ed-51bece6c7028/image5.png
 
Afin de mettre en place la pagination, il suffit d'incrémenter ou décrémenter la valeur de la propriété PageIndex afin de passer à la page suivante/précédente :

<asp:Button ID="Button1" runat="server" Text="<<" 

            onclick="btnPrevious_Click" /><asp:Button ID="Button2"

            runat="server" Text=">>" onclick="btnNext_Click" />

protected void btnPrevious_Click(object sender, EventArgs e)

   {

       FlickrDataSource1.PageIndex -= 1;

       dtPhotos.DataBind();

   }

   protected void btnNext_Click(object sender, EventArgs e)

   {

       FlickrDataSource1.PageIndex += 1;

       dtPhotos.DataBind();

   }

 
» Démarrer une discussion