IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Slideshow avec des images stockées dans la BDD


Sujet :

ASP.NET

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Slideshow avec des images stockées dans la BDD
    Bonjour,

    Je souhaite faire un slideshow avec mes images déjà stockées dans la BDD (stockées en type de données Image). Pour aller chercher ces images j'utilise un handler dont en voici le code ci-dessous (C#) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    <%@ WebHandler Language="C#" Class="Handler" %>
     
    using System;
    using System.Web;
    using System.Data.SqlClient;
    using System.Configuration;
     
     
    public class Handler : IHttpHandler {
     
        SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["connStr"].ConnectionString);
     
     
     
        public void ProcessRequest (HttpContext context)
        {
            string imgID = context.Request.QueryString["ID"].ToString();
            SqlCommand cmd = new SqlCommand("SELECT * from picture where id_picture=" + imgID, conn);
            conn.Open();
     
            SqlDataReader Dr = cmd.ExecuteReader();
     
            Dr.Read();
     
            context.Response.BinaryWrite((byte[])Dr["picture"]);
            conn.Close();
     
        }
     
        public bool IsReusable {
            get {
                return false;
            }
        }
     
    }
    Dans les recherches que j'ai effectué le seul moyen que j'ai trouvé est d'utiliser Ajaxcontroltoolkit et la fonction Slideshowextender que j'utilise ci-dessous dans ma page .aspx :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    <asp:ToolkitScriptManager
        ID="ToolkitScriptManager1" runat="server">
        </asp:ToolkitScriptManager>
     
            <asp:Button runat="Server" ID="prevButton" Text="Prev" Font-Size="Medium" />  
            <asp:Button runat="Server" ID="playButton" Text="Play" Font-Size="Medium" />  
            <asp:Button runat="Server" ID="nextButton" Text="Next" Font-Size="Medium" /> 
     
            <asp:Image ID="Image2" runat="server" Height="200px" Width="315px" />
     
                <asp:SlideShowExtender ID="Image1_SlideShowExtender" runat="server" 
     
                TargetControlID="Image2"  
                SlideShowServiceMethod="GetSlides" 
                SlideShowServicePath="WebService.asmx" 
                PreviousButtonID="Button1" 
                PlayButtonID="Button2"  
                NextButtonID="Button3"  
                PlayButtonText="Play" 
                StopButtonText="Stop"  
                AutoPlay="true"  
                Loop="true">
     
                </asp:SlideShowExtender>
    Mon problème réside dans le WebService que Slideshowextender utilise. En effet j'ai essayé plusieurs choses mais aucune images apparaissait dans mon slideshow.


    Voilà où je bloque : (WebService.asmx)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    [System.Web.Services.WebMethod]
    [System.Web.Script.Services.ScriptMethod]
     
    public AjaxControlToolkit.Slide[] GetSlides()  
    {
     
        ?
     
        return slides;
    }
    J'ai déjà fais beaucoup de recherches. Je serais très reconnaissant de votre aide.

    En vous remerciant

  2. #2
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Je peux maintenant afficher mon slideshow à partir du handler :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    public static AjaxControlToolkit.Slide[] GetSlides()
            {
     
            return new AjaxControlToolkit.Slide[] {
     
                new AjaxControlToolkit.Slide("Handler.ashx?ID=1", "Image1", "Image1"),
                new AjaxControlToolkit.Slide("Handler.ashx?ID=2", "Image2", "Image2"),
     
                };
     
            }
    Je ne voudrais pas à avoir à ajouter manuellement chaque identifiant de photo. J'avais pensé à intégrer le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    '<%# "Handler.ashx?ID=" + Eval("id_picture")  %>'
    Mais ce n'est pas accepté.

    Avez-vous des suggestions ?

Discussions similaires

  1. Utiliser des images stockées dans un dossier TMP dans une page web
    Par k o D dans le forum Développement Web en Java
    Réponses: 1
    Dernier message: 19/07/2010, 20h38
  2. [MySQL] Génération d'un document à partir des données stockées dans la bdd
    Par kskhaled dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 27/08/2009, 23h38
  3. [XL-2003] Comment utiliser des images stockées dans une feuille
    Par Pastekk dans le forum Excel
    Réponses: 2
    Dernier message: 30/06/2009, 12h17
  4. Réponses: 1
    Dernier message: 26/02/2009, 22h05
  5. Réponses: 5
    Dernier message: 06/02/2008, 16h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo