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

Développement Web avec .NET Discussion :

Afficher Image binaire depuis BDD C# asp.net


Sujet :

Développement Web avec .NET

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2011
    Messages : 28
    Points : 21
    Points
    21
    Par défaut Afficher Image binaire depuis BDD C# asp.net
    Bonjour,

    Voila plusieurs heures que j'essaye d'afficher une image depuis une BDD sans l'enregistrer sur le client ou le serveur.

    J'ai donc créer un Handler.ashx:
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
     
    public ConnexionSQL connec = new ConnexionSQL();
        private string CONNEXION_SQL_Reference;
     
     
        public void ProcessRequest (HttpContext context) {
            HttpRequest request = context.Request;
            HttpServerUtility server = context.Server;
            context.Response.ContentType = "image/jpeg";
            CONNEXION_SQL_Reference = connec.ConnexionEcommerce();
            if (context.Request.QueryString["imgId"] != null)
            {
                string imgId = "";
                imgId = context.Request.QueryString["imgId"];
     
                byte[] tab = GetImageFromDB(imgId);
     
                MemoryStream memoryStream = new MemoryStream(tab, false);
                System.Drawing.Image imgFromGB = System.Drawing.Image.FromStream(memoryStream);
                imgFromGB.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
     
            }
     
        }
     
        private byte[] GetImageFromDB(string serie)
        {
     
             byte[] imageBytes = null;
     
            try
            {
     
                System.Data.SqlClient.SqlConnection myConnection2 = new System.Data.SqlClient.SqlConnection();
                myConnection2.ConnectionString = CONNEXION_SQL_Reference;
     
                myConnection2.Open();
                System.Data.SqlClient.SqlCommand myCommand2 = new System.Data.SqlClient.SqlCommand("SELECT [NumSerie],[Image],[NomImage] FROM [BDD].[dbo].[Img] where [NumSerie]='" + serie + "'", myConnection2);
     
                System.Data.SqlClient.SqlDataReader myReader3 = null;
                myReader3 = myCommand2.ExecuteReader();
     
     
                myReader3.Read();
               imageBytes = (byte[])myReader3["Image"];
     
     
     
                myConnection2.Close();
     
                return imageBytes;
            }
            catch (Exception ex)
            {
                return null;
            }
            finally
            {
     
            }
        }
     
        public bool IsReusable {
            get {
                return true;
            }
        }
    Puis depuis ma page aspx :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     <asp:Image ID="imgProfile" Visible="true" runat="server" />
      imgProfile.ImageUrl = "~/Account/Handler.ashx?imgid=" + serie;
    Mon problème est que j'ai l'erreur invalid Parameter sur cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     System.Drawing.Image imgFromGB = System.Drawing.Image.FromStream(memoryStream);
    Merci pour votre aide

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Les lignes 18 à 20 de ton premier bloc de code ne servent à rien, puisque tu as déjà récupéré ton image juste avant, dans la variable "tab"

    Je pense que si tu remplaces ces 3 lignes (18 à 20) par cette ligne : context.Response.BinaryWrite(tab);, ça devrait suffire.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2011
    Messages : 28
    Points : 21
    Points
    21
    Par défaut
    Merci je viens de tester mais l'image ne s'affiche pas.
    J'ai vérifié est ma requête est bonne ainsi que le paramètre passé en get, voici mon nouveau code avec ton avis :

    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
     
    public void ProcessRequest (HttpContext context) {
            HttpRequest request = context.Request;
            HttpServerUtility server = context.Server;
            context.Response.ContentType = "image/jpeg";
            CONNEXION_SQL_Reference = connec.ConnexionEcommerce();
            if (context.Request.QueryString["imgId"] != null)
            {
                string imgId = "";
                imgId = context.Request.QueryString["imgId"];
     
                byte[] tab = GetImageFromDB(imgId);
     
                context.Response.BinaryWrite(tab);
     
            }
     
        }

  4. #4
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    OK, ne touche plus à cette méthode ProcessRequest. Il y a un souci semble-t-il dans ton autre méthode, la voici, j'en ai profité pour la réécrire au passage :

    Code C# : 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
    private byte[] GetImageFromDB(string serie)
    {
        byte[] imageBytes = null;
        using (var conn2 = new System.Data.SqlClient.SqlConnection(CONNEXION_SQL_Reference))
        {
            conn2.Open();
     
            var query = "SELECT [NumSerie], [Image], [NomImage] FROM [BDD].[dbo].[Img] WHERE [NumSerie]=@Serie";        
            using (var cmd2 = new System.Data.SqlClient.SqlCommand(query, conn2))
            {
                cmd2.Parameters.AddWithValue("@Serie", serie);
                using (var dr3 = cmd2.ExecuteReader())
                {
                    while (dr3.Read())
                    {
                        if (dr3["Image"] != DBNull.Value)
                        {
                            imageBytes = (byte[])dr3["Image"];
                        }
                    }
                }
            }
        }
     
        return imageBytes;
    }

    Tu noteras plusieurs changements :
    Utilisation de blocs using. Ils permettent de mieux gérer la libération des ressources, y compris en cas d'erreur. Voir la Référence MSDN.
    Utilisation d'une requête paramétrée, afin d'éviter notamment les injections SQL.
    Il faut utiliser une boucle while (dr3.Read()).
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2011
    Messages : 28
    Points : 21
    Points
    21
    Par défaut
    Merci pour ton aide j'ai essayé ta méthode mais j'ai toujours le même problème l'image ne s'affiche pas (cela ne viendrait pas de IE10?)

  6. #6
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Met un point d'arrêt sur cette ligne : byte[] tab = GetImageFromDB(imgId);. Est-ce que "tab" contient quelque chose ?

    Second test à faire, si tu vas directement sur l'URL de ton handler, est-ce que l'image s'affiche ?
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2011
    Messages : 28
    Points : 21
    Points
    21
    Par défaut
    Tab contient bien quelquechose.

    Quand j'affiche la page directement, j'ai qui s'affiche

  8. #8
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Bizarre, j'ai fait un petit projet et ça fonctionne bien chez moi...

    Peux-tu poster plus de code ?
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  9. #9
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2011
    Messages : 28
    Points : 21
    Points
    21
    Par défaut
    Quel parti du code veux-tu?

  10. #10
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Là où tu fais imgProfile.ImageUrl = "~/Account/Handler.ashx?imgid=" + serie;.

    Au passage, es-tu sûr de passer sur cette ligne ?
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  11. #11
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2011
    Messages : 28
    Points : 21
    Points
    21
    Par défaut
    Voila:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      System.Data.SqlClient.SqlConnection myConnection2 = new System.Data.SqlClient.SqlConnection();
                myConnection2.ConnectionString = CONNEXION_SQL_Reference;
     
                imgProfile.ImageUrl = "~/Account/Handler.ashx?imgId=" + serie.Replace(" "," ");
    Ensuite oui j'en suis sur avec le pas à pas j'y rentre bien.

  12. #12
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Dans le cycle de vie de ta page ASP.NET, à quel moment est-ce que tu passes sur imgProfile.ImageUrl = "~/Account/Handler.ashx?imgId=" + serie.Replace(" "," "); ? Est-ce dans le Page_Load ?

    A quoi ça sert le replace(" ", " "), puisque ça remplace un espace par un espace ?
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  13. #13
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2011
    Messages : 28
    Points : 21
    Points
    21
    Par défaut
    J'appel ma fonction dans le Page_Load.

    Sinon le remplace me sert à enlever le code html correspondant à l'espace qui est converti automatiquement dans ce forum.

  14. #14
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Ok, je suis perplexe. Voici le code que j'utilise pour le Handler :
    Code C# : 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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    public class PictureHandler : IHttpHandler
    {
        public void ProcessRequest(HttpContext context)
        {
            CONNEXION_SQL_Reference = connec.ConnexionEcommerce();
            if (!string.IsNullOrEmpty(context.Request.QueryString["imgid"]))
            {
                var imgId = Convert.ToInt32(context.Request.QueryString["imgid"]);
     
                byte[] tab = GetImageFromDB(imgId);
     
                context.Response.ContentType = "image/jpeg";
                context.Response.BinaryWrite(tab);
            }
        }
     
        private byte[] GetImageFromDB(int id)
        {
            byte[] imageBytes = null;
            using (var conn2 = new System.Data.SqlClient.SqlConnection(CONNEXION_SQL_Reference))
            {
                conn2.Open();
     
                var query = "SELECT [NumSerie], [Image], [NomImage] FROM [BDD].[dbo].[Img] WHERE [NumSerie]=@Serie";
                using (var cmd2 = new System.Data.SqlClient.SqlCommand(query, conn2))
                {
                    cmd2.Parameters.AddWithValue("@Serie", id);
    
                    using (var dr3 = cmd2.ExecuteReader())
                    {
                        while (dr3.Read())
                        {
                            if (dr3["Image"] != DBNull.Value)
                            {
                                imageBytes = (byte[])dr3["Image"];
                            }
                        }
                    }
                }
            }
     
            return imageBytes;
        }
     
        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
    Si je vais sur ce Handler directement avec le navigateur, IE n'affiche rien, par contre sous Chrome et Firefox l'image s'affiche correctement.

    Idem dans ma page ASPX, avec ce code :
    Code ASPX : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <html xmlns="http://www.w3.org/1999/xhtml" >
        <head runat="server">
            <title></title>
        </head>
        <body>
            <form id="form1" runat="server">
                <div>
                    <asp:Image ID="picone" runat="server" />
                </div>
            </form>
        </body>
    </html>
    et dans le code behind :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    protected void Page_Load(object sender, EventArgs e)
    {
        var serie = 1;
        imgProfile.ImageUrl = "~/Account/Handler.ashx?imgId=" + serie;
    }

    Ca, ça fonctionne bien. Donc je ne vois pas où se situe ton problème. Il faudrait que tu publies tout ton code pour qu'on puisse y voir plus clair...
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  15. #15
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2011
    Messages : 28
    Points : 21
    Points
    21
    Par défaut
    Désolé mais je ne peux pas en poster plus du code.

    Par contre sur mozilla quand je tape directement l'url j'ai:

    L'image "http:localhost:111/Acc/Handler.ashx?imgId=SAV%20AMB" ne peut être affichée car elle contient des erreurs

  16. #16
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Ah, peut-être un problème lors de l'upload ?
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  17. #17
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2011
    Messages : 28
    Points : 21
    Points
    21
    Par défaut
    Peut-être mais comment le vérifier?

    L'image est enregistrer directement dans la BDD à partir d'une autre.

    J'utilise la requête:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.Data.SqlClient.SqlCommand myCommand3 = new System.Data.SqlClient.SqlCommand("Insert Into [test].[dbo].[Ima] ([NSerie], [NomImage],[Img]) values ('" + myReader2["No_"].ToString() + "','" + nomImage + ".jpg" + "','" + myReader2["Picture"] + "')", myConnection3);
    Ps: les différentes appellation ont été changé j'ai mis des noms aux hasard

  18. #18
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Comment vérifier ? C'est une bonne question...

    Au niveau de ta table Ima, quel est le type de la colonne Img ?

    [EDIT] : pour vérifier, la comparaison de hash semble une bonne idée.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  19. #19
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2011
    Messages : 28
    Points : 21
    Points
    21
    Par défaut
    Ok le type de ma colonne est :

  20. #20
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2011
    Messages : 28
    Points : 21
    Points
    21
    Par défaut
    Je pense qu'il doit y avoir un problème car les différentes images ont le même hash....

Discussions similaires

  1. Réponses: 3
    Dernier message: 10/11/2008, 09h44
  2. Poster un Email depuis une page ASP.net 2.0
    Par Delphi-ne dans le forum ASP.NET
    Réponses: 4
    Dernier message: 30/04/2008, 11h18
  3. Réponses: 1
    Dernier message: 14/02/2008, 22h47
  4. piloter excel depuis un site ASP.NET
    Par sergio94 dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 22/01/2008, 15h25
  5. Réponses: 1
    Dernier message: 01/06/2006, 09h11

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