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 :

Webform + uploadFile -> il ne trouve pas mon fichier.


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2016
    Messages : 61
    Points : 42
    Points
    42
    Par défaut Webform + uploadFile -> il ne trouve pas mon fichier.
    Bonjour,

    Voici mes codes HTML /ASP et +csharp:

    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
    68
    69
    70
    71
    72
    73
    74
    75
    76
    <form id="form1" runat="server" enctype="multipart/form-data">
            <asp:ScriptManager ID="ScriptManager1" runat="server">
            </asp:ScriptManager>
            <div id="dvGrid" style="padding: 10px; width: 550px">
                <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                    <ContentTemplate>
                        <asp:GridView ID="GridView1" runat="server" Width="550px"
                            AutoGenerateColumns="false" Font-Names="Arial"
                            Font-Size="11pt" AlternatingRowStyle-BackColor="#C2D69B"
                            HeaderStyle-BackColor="green" AllowPaging="true" ShowFooter="true"
                            OnPageIndexChanging="OnPaging" OnRowEditing="EditCustomer"
                            OnRowUpdating="UpdateCustomer" OnRowCancelingEdit="CancelEdit"
                            PageSize="10">
                            <Columns>
                                <asp:TemplateField ItemStyle-Width="30px" HeaderText="CustomerID">
                                    <ItemTemplate>
                                        <asp:Label ID="lblID" runat="server" Text='<%# Eval("ID")%>'></asp:Label>
                                    </ItemTemplate>
                                    <FooterTemplate>
                                        <!--<asp:TextBox ID="txtID" Width="40px" MaxLength="5" runat="server"></asp:TextBox>-->
                                    </FooterTemplate>
                                </asp:TemplateField>
                                <asp:TemplateField ItemStyle-Width="100px" HeaderText="Name">
                                    <ItemTemplate>
                                        <asp:Label ID="lblName" runat="server" Text='<%# Eval("Name")%>'></asp:Label>
                                    </ItemTemplate>
                                    <EditItemTemplate>
                                        <asp:TextBox ID="txtName" runat="server" Text='<%# Eval("Name")%>'></asp:TextBox>
                                    </EditItemTemplate>
                                    <FooterTemplate>
                                        <asp:TextBox ID="txtName" runat="server"></asp:TextBox>
                                    </FooterTemplate>
                                </asp:TemplateField>
                                <asp:TemplateField ItemStyle-Width="150px" HeaderText="Logo">
                                    <ItemTemplate>
                                        <asp:Label ID="lblLogo" runat="server" Text='<%# Eval("Logo")%>'></asp:Label>
                                    </ItemTemplate>
                                    <EditItemTemplate>
                                        <input id="docLogo" type="file" runat="Server" />
                                    </EditItemTemplate>
                                    <FooterTemplate>
                                        <input id="docLogo" type="file" runat="Server" />
                                    </FooterTemplate>
                                </asp:TemplateField>
                                <asp:TemplateField ItemStyle-Width="150px" HeaderText="Site internet">
                                    <ItemTemplate>
                                        <asp:Label ID="lblURL" runat="server" Text='<%# Eval("URL")%>'></asp:Label>
                                    </ItemTemplate>
                                    <EditItemTemplate>
                                        <asp:TextBox ID="txtURL" runat="server" Text='<%# Eval("URL")%>'></asp:TextBox>
                                    </EditItemTemplate>
                                    <FooterTemplate>
                                        <asp:TextBox ID="txtURL" runat="server"></asp:TextBox>
                                    </FooterTemplate>
                                </asp:TemplateField>
                                <asp:TemplateField>
                                    <ItemTemplate>
                                        <asp:LinkButton ID="lnkRemove" runat="server" CommandArgument='<%# Eval("ID")%>'
                                            OnClientClick="return confirm('confirmer la suppression?')"
                                            Text="Delete" OnClick="DeleteCustomer"></asp:LinkButton>
                                    </ItemTemplate>
                                    <FooterTemplate>
                                        <asp:Button ID="btnAdd" runat="server" Text="Ajouter" OnClick="AddNewCustomer" />
                                    </FooterTemplate>
                                </asp:TemplateField>
                                <asp:CommandField ShowEditButton="True" />
                            </Columns>
                            <AlternatingRowStyle BackColor="#C2D69B" />
                        </asp:GridView>
                    </ContentTemplate>
                    <Triggers>
                        <asp:AsyncPostBackTrigger ControlID="GridView1" />
                    </Triggers>
                </asp:UpdatePanel>
            </div>
        </form>
    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
    protected void UpdateCustomer(object sender, GridViewUpdateEventArgs e)
        {
            string uploadedFile = uploadedFile();
     
            string _id = ((Label)GridView1.Rows[e.RowIndex].FindControl("lblID")).Text;
            string _Name = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("txtName")).Text;
            string _Logo = uploadedfile;
            string _URL = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("txtURL")).Text;
            SqlConnection con = new SqlConnection(connectionString);
            SqlCommand cmd = new SqlCommand();
            cmd.CommandType = CommandType.Text;
            cmd.CommandText = "update dbo.Sponsors set Name=@Name,Logo=@Logo,URL=@URL " +
             "where ID=@ID;" +
             "select ID,Name,Logo,URL from dbo.Sponsors";
            cmd.Parameters.Add("@ID", SqlDbType.VarChar).Value = _id;
            cmd.Parameters.Add("@Name", SqlDbType.VarChar).Value = _Name;
            cmd.Parameters.Add("@Logo", SqlDbType.VarChar).Value = _Logo;
            cmd.Parameters.Add("@URL", SqlDbType.VarChar).Value = _URL;
            GridView1.EditIndex = -1;
            GridView1.DataSource = GetData(cmd);
            GridView1.DataBind();
        }
     
        protected string UploadFile()
        {
            string filepath = "C:\\Uploads";
            string uploadedfile = "";
     
            if (docLogo.PostedFile != null)
            {
                try
                {
                    docLogo.PostedFile.SaveAs(filepath + "\\" + docLogo.PostedFile.FileName);
                    Span1.InnerHtml = "Téléchargement effectué avec succès.";
                    uploadedfile = filepath + "\\" + docLogo.PostedFile.FileName;
                    return uploadedfile;
                }
                catch (Exception ex)
                {
                    Span1.InnerHtml = "Error saving file <b>C:\\" + docLogo.Value + "</b><br>" + ex.ToString();
                }
     
            }
     
            return uploadedfile;
        }
    Lorsque j'essaie d'uploadé une image, il passe à null à la ligne: if (docLogo.PostedFile != null) dans ma fonction upload. Ici utilisé dans la fonction d'update, c'est le même effet dans la fonction d'ajout.

    Le débug ne m'a rien donné de congruent et mes codes sont du quasi copier coller de la page suivante: https://msdn.microsoft.com/en-us/library/aa478971.aspx aussi si vous pouviez m'aider à résoudre ce problème, ce serait super

    Bien à vous
    Cordialement,

    yagaam

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2012
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2012
    Messages : 80
    Points : 163
    Points
    163
    Par défaut
    Peux-tu poster ton message d'erreur? Tu es chez le client ou sur ton poste? Si tu es chez le client, ça marche depuis ton poste?

    ps: souvent, c'est une question d'autorisation des dossiers de l'utilisateur IIS

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2016
    Messages : 61
    Points : 42
    Points
    42
    Par défaut
    Salut,

    Je n'ai pas chercher à gérer un quelquonque droit sur ma machine (c'est en local avec le IIS VS2015)

    Je n'ai pas de message d'erreur, il passe simplement pas la condition: if (docLogo.PostedFile != null) (ligne 29 code c#)

    Merci à toi de ton temps de lecture

    Salutations distinguées,
    Cordialement,

    yagaam

  4. #4
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2012
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2012
    Messages : 80
    Points : 163
    Points
    163
    Par défaut
    Après une rapide recherche, il semble que l'updatepanel ne fonctionne pas avec les 'input type File'. Fais un test en le supprimant. Ci-dessous, le lien de l'information. en espérant que ça te face avancer un peu.

    http://forums.asp.net/t/1170894.aspx...put+type+file+

    ps: ce n'est pas une question de droit, je pensais que tu avais un problème sur l'upload et non sur la récupération de la valeur de ton champ.

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2016
    Messages : 61
    Points : 42
    Points
    42
    Par défaut
    Salut,

    Merci de ton soutien, j'ai testé (vraiment beaucoup -_-) de solutions proposé par la communauté au travers de la recherche "updatepanel + fileupload" et aucune n'abouti à du bon.

    Souvent l'erreur est qu'il ne connait pas la fonction .HasFile() ou alors il ne trouve pas mon <asp:FileUpload.

    Peut-être que dans leurs solutions, sans les codes qui vont autour, ça fonctionne. mais moi je n'ai pas le choix que de les avoir. :/
    Cordialement,

    yagaam

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Points : 1 077
    Points
    1 077
    Par défaut
    Quel est l’intérêt en webform de réaliser un upload de fichier dans un updatepanel ? fait un postback classique pour ton upload. (le gain en performance avec l'update panel sera normalement quasi nul)

  7. #7
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2016
    Messages : 61
    Points : 42
    Points
    42
    Par défaut
    Mettre à jour une image, un document.

    Comme ça j'utilise pas pleins de page, j'ai que mon "accueil" et je clic sur modifier, je peux mettre à jour mes champs, et je recharge rien.
    Cordialement,

    yagaam

  8. #8
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Points : 1 077
    Points
    1 077
    Par défaut
    Citation Envoyé par yagaam Voir le message
    Mettre à jour une image, un document.

    Comme ça j'utilise pas pleins de page, j'ai que mon "accueil" et je clic sur modifier, je peux mettre à jour mes champs, et je recharge rien.
    Il n'y a strictement aucun rapport entre l'updatepanel et un nombre de page plus conséquent via des postbacks classiques

  9. #9
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2016
    Messages : 61
    Points : 42
    Points
    42
    Par défaut
    je veux dire, je veux pas créé une page pour le formulaire d'update, une page pour le formulaire d'ajout, une page pour le listing, une page pour la confirmation de suppression.

    Actuellement, j'ai ce code là:

    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
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
     
    <form id="form1" runat="server" enctype="multipart/form-data">
            <asp:ScriptManager ID="ScriptManager1" runat="server">
            </asp:ScriptManager>
            <div id="dvGrid" style="padding: 10px; width: 550px">
                <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                    <ContentTemplate>
                        <asp:GridView ID="GridView1" runat="server" Width="550px"
                            AutoGenerateColumns="false" Font-Names="Arial"
                            Font-Size="11pt" AlternatingRowStyle-BackColor="#C2D69B"
                            HeaderStyle-BackColor="green" AllowPaging="true" ShowFooter="true"
                            OnPageIndexChanging="OnPaging" OnRowEditing="EditCustomer"
                            OnRowUpdating="UpdateCustomer" OnRowCancelingEdit="CancelEdit"
                            PageSize="10">
                            <Columns>
                                <asp:TemplateField ItemStyle-Width="30px" HeaderText="CustomerID">
                                    <ItemTemplate>
                                        <asp:Label ID="lblID" runat="server" Text='<%# Eval("ID")%>'></asp:Label>
                                    </ItemTemplate>
                                    <FooterTemplate>
                                        <!--<asp:TextBox ID="txtID" Width="40px" MaxLength="5" runat="server"></asp:TextBox>-->
                                    </FooterTemplate>
                                </asp:TemplateField>
                                <asp:TemplateField ItemStyle-Width="100px" HeaderText="Name">
                                    <ItemTemplate>
                                        <asp:Label ID="lblName" runat="server" Text='<%# Eval("Name")%>'></asp:Label>
                                    </ItemTemplate>
                                    <EditItemTemplate>
                                        <asp:TextBox ID="txtName" runat="server" Text='<%# Eval("Name")%>'></asp:TextBox>
                                    </EditItemTemplate>
                                    <FooterTemplate>
                                        <asp:TextBox ID="txtName" runat="server"></asp:TextBox>
                                    </FooterTemplate>
                                </asp:TemplateField>
                                <asp:TemplateField ItemStyle-Width="150px" HeaderText="Logo">
                                    <ItemTemplate>
                                        <asp:Label ID="lblLogo" runat="server" Text='<%# Eval("Logo")%>'></asp:Label>
                                    </ItemTemplate>
                                    <EditItemTemplate>
                                        <asp:FileUpload ID="FileUpload1" runat="server" />
                    <asp:Button ID="btUpload" runat="server" Text="Upload" OnClick="btUpload_Click" />
                                    </EditItemTemplate>
                                    <FooterTemplate>
                                        <asp:FileUpload ID="FileUpload1" runat="server" />
                    <asp:Button ID="btUpload" runat="server" Text="Upload" OnClick="btUpload_Click" />
                                    </FooterTemplate>
                                </asp:TemplateField>
                                <asp:TemplateField ItemStyle-Width="150px" HeaderText="Site internet">
                                    <ItemTemplate>
                                        <asp:Label ID="lblURL" runat="server" Text='<%# Eval("URL")%>'></asp:Label>
                                    </ItemTemplate>
                                    <EditItemTemplate>
                                        <asp:TextBox ID="txtURL" runat="server" Text='<%# Eval("URL")%>'></asp:TextBox>
                                    </EditItemTemplate>
                                    <FooterTemplate>
                                        <asp:TextBox ID="txtURL" runat="server"></asp:TextBox>
                                    </FooterTemplate>
                                </asp:TemplateField>
                                <asp:TemplateField>
                                    <ItemTemplate>
                                        <asp:LinkButton ID="lnkRemove" runat="server" CommandArgument='<%# Eval("ID")%>'
                                            OnClientClick="return confirm('confirmer la suppression?')"
                                            Text="Delete" OnClick="DeleteCustomer"></asp:LinkButton>
                                    </ItemTemplate>
                                    <FooterTemplate>
                                        <asp:Button ID="btnAdd" runat="server" Text="Ajouter" OnClick="AddNewCustomer" />
                                    </FooterTemplate>
                                </asp:TemplateField>
                                <asp:CommandField ShowEditButton="True" />
                            </Columns>
                            <AlternatingRowStyle BackColor="#C2D69B" />
                        </asp:GridView>
                    </ContentTemplate>
                    <Triggers>
                        <asp:AsyncPostBackTrigger ControlID="GridView1" EventName = "Click" />
                    </Triggers>
                </asp:UpdatePanel>
            </div>
        </form>
    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
    protected void UpdateCustomer(object sender, GridViewUpdateEventArgs e)
        {
            string _id = ((Label)GridView1.Rows[e.RowIndex].FindControl("lblID")).Text;
            string _Name = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("txtName")).Text;
            string _Logo = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("docLogo")).Text;
            string _URL = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("txtURL")).Text;
            SqlConnection con = new SqlConnection(connectionString);
            SqlCommand cmd = new SqlCommand();
            cmd.CommandType = CommandType.Text;
            cmd.CommandText = "update dbo.Sponsors set Name=@Name,Logo=@Logo,URL=@URL " +
             "where ID=@ID;" +
             "select ID,Name,Logo,URL from dbo.Sponsors";
            cmd.Parameters.Add("@ID", SqlDbType.VarChar).Value = _id;
            cmd.Parameters.Add("@Name", SqlDbType.VarChar).Value = _Name;
            cmd.Parameters.Add("@Logo", SqlDbType.VarChar).Value = _Logo;
            cmd.Parameters.Add("@URL", SqlDbType.VarChar).Value = _URL;
            GridView1.EditIndex = -1;
            GridView1.DataSource = GetData(cmd);
            GridView1.DataBind();
        }
     
        protected void btnUpload_Click(object sender, EventArgs e)
        {
            if (FileUpload1.HasFile)
            {
                string filename = System.IO.Path.GetFileName(FileUpload1.FileName);
                FileUpload1.SaveAs(Server.MapPath("~/Files/" + filename));
                lMsg.ForeColor = System.Drawing.Color.Green;
                lMsg.Text = "File uploaded successfully.";
            }
        }
    Cordialement,

    yagaam

  10. #10
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Points : 1 077
    Points
    1 077
    Par défaut
    Citation Envoyé par yagaam Voir le message
    je veux dire, je veux pas créé une page pour le formulaire d'update, une page pour le formulaire d'ajout, une page pour le listing, une page pour la confirmation de suppression.

    Actuellement, j'ai ce code là:

    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
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
     
    <form id="form1" runat="server" enctype="multipart/form-data">
            <asp:ScriptManager ID="ScriptManager1" runat="server">
            </asp:ScriptManager>
            <div id="dvGrid" style="padding: 10px; width: 550px">
                <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                    <ContentTemplate>
                        <asp:GridView ID="GridView1" runat="server" Width="550px"
                            AutoGenerateColumns="false" Font-Names="Arial"
                            Font-Size="11pt" AlternatingRowStyle-BackColor="#C2D69B"
                            HeaderStyle-BackColor="green" AllowPaging="true" ShowFooter="true"
                            OnPageIndexChanging="OnPaging" OnRowEditing="EditCustomer"
                            OnRowUpdating="UpdateCustomer" OnRowCancelingEdit="CancelEdit"
                            PageSize="10">
                            <Columns>
                                <asp:TemplateField ItemStyle-Width="30px" HeaderText="CustomerID">
                                    <ItemTemplate>
                                        <asp:Label ID="lblID" runat="server" Text='<%# Eval("ID")%>'></asp:Label>
                                    </ItemTemplate>
                                    <FooterTemplate>
                                        <!--<asp:TextBox ID="txtID" Width="40px" MaxLength="5" runat="server"></asp:TextBox>-->
                                    </FooterTemplate>
                                </asp:TemplateField>
                                <asp:TemplateField ItemStyle-Width="100px" HeaderText="Name">
                                    <ItemTemplate>
                                        <asp:Label ID="lblName" runat="server" Text='<%# Eval("Name")%>'></asp:Label>
                                    </ItemTemplate>
                                    <EditItemTemplate>
                                        <asp:TextBox ID="txtName" runat="server" Text='<%# Eval("Name")%>'></asp:TextBox>
                                    </EditItemTemplate>
                                    <FooterTemplate>
                                        <asp:TextBox ID="txtName" runat="server"></asp:TextBox>
                                    </FooterTemplate>
                                </asp:TemplateField>
                                <asp:TemplateField ItemStyle-Width="150px" HeaderText="Logo">
                                    <ItemTemplate>
                                        <asp:Label ID="lblLogo" runat="server" Text='<%# Eval("Logo")%>'></asp:Label>
                                    </ItemTemplate>
                                    <EditItemTemplate>
                                        <asp:FileUpload ID="FileUpload1" runat="server" />
                    <asp:Button ID="btUpload" runat="server" Text="Upload" OnClick="btUpload_Click" />
                                    </EditItemTemplate>
                                    <FooterTemplate>
                                        <asp:FileUpload ID="FileUpload1" runat="server" />
                    <asp:Button ID="btUpload" runat="server" Text="Upload" OnClick="btUpload_Click" />
                                    </FooterTemplate>
                                </asp:TemplateField>
                                <asp:TemplateField ItemStyle-Width="150px" HeaderText="Site internet">
                                    <ItemTemplate>
                                        <asp:Label ID="lblURL" runat="server" Text='<%# Eval("URL")%>'></asp:Label>
                                    </ItemTemplate>
                                    <EditItemTemplate>
                                        <asp:TextBox ID="txtURL" runat="server" Text='<%# Eval("URL")%>'></asp:TextBox>
                                    </EditItemTemplate>
                                    <FooterTemplate>
                                        <asp:TextBox ID="txtURL" runat="server"></asp:TextBox>
                                    </FooterTemplate>
                                </asp:TemplateField>
                                <asp:TemplateField>
                                    <ItemTemplate>
                                        <asp:LinkButton ID="lnkRemove" runat="server" CommandArgument='<%# Eval("ID")%>'
                                            OnClientClick="return confirm('confirmer la suppression?')"
                                            Text="Delete" OnClick="DeleteCustomer"></asp:LinkButton>
                                    </ItemTemplate>
                                    <FooterTemplate>
                                        <asp:Button ID="btnAdd" runat="server" Text="Ajouter" OnClick="AddNewCustomer" />
                                    </FooterTemplate>
                                </asp:TemplateField>
                                <asp:CommandField ShowEditButton="True" />
                            </Columns>
                            <AlternatingRowStyle BackColor="#C2D69B" />
                        </asp:GridView>
                    </ContentTemplate>
                    <Triggers>
                        <asp:AsyncPostBackTrigger ControlID="GridView1" EventName = "Click" />
                    </Triggers>
                </asp:UpdatePanel>
            </div>
        </form>
    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
    protected void UpdateCustomer(object sender, GridViewUpdateEventArgs e)
        {
            string _id = ((Label)GridView1.Rows[e.RowIndex].FindControl("lblID")).Text;
            string _Name = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("txtName")).Text;
            string _Logo = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("docLogo")).Text;
            string _URL = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("txtURL")).Text;
            SqlConnection con = new SqlConnection(connectionString);
            SqlCommand cmd = new SqlCommand();
            cmd.CommandType = CommandType.Text;
            cmd.CommandText = "update dbo.Sponsors set Name=@Name,Logo=@Logo,URL=@URL " +
             "where ID=@ID;" +
             "select ID,Name,Logo,URL from dbo.Sponsors";
            cmd.Parameters.Add("@ID", SqlDbType.VarChar).Value = _id;
            cmd.Parameters.Add("@Name", SqlDbType.VarChar).Value = _Name;
            cmd.Parameters.Add("@Logo", SqlDbType.VarChar).Value = _Logo;
            cmd.Parameters.Add("@URL", SqlDbType.VarChar).Value = _URL;
            GridView1.EditIndex = -1;
            GridView1.DataSource = GetData(cmd);
            GridView1.DataBind();
        }
     
        protected void btnUpload_Click(object sender, EventArgs e)
        {
            if (FileUpload1.HasFile)
            {
                string filename = System.IO.Path.GetFileName(FileUpload1.FileName);
                FileUpload1.SaveAs(Server.MapPath("~/Files/" + filename));
                lMsg.ForeColor = System.Drawing.Color.Green;
                lMsg.Text = "File uploaded successfully.";
            }
        }
    c'est bien ce que je dis tu n'es pas obligé de le faire dans plusieurs pages...tu peux tout gérer dans une seule. Que ce soit avec ou sans updatepanel.

  11. #11
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2016
    Messages : 61
    Points : 42
    Points
    42
    Par défaut
    Mais encore ? tu aurais pas une piste ?
    Cordialement,

    yagaam

  12. #12
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Points : 1 077
    Points
    1 077
    Par défaut
    Citation Envoyé par yagaam Voir le message
    Mais encore ? tu aurais pas une piste ?
    Le plus simple si tu ne veux pas recharger toute ta page est d'ouvrir une popup modal et d'y placer un fileupload classique...(comme sur ce forum si tu regardes bien ;-))

Discussions similaires

  1. Mon Visual Studio 2015 ne trouve pas un fichier .ipdb
    Par DarkKnight dans le forum Visual Studio
    Réponses: 0
    Dernier message: 02/12/2015, 13h10
  2. perl ne trouve pas mon fichier
    Par clmin dans le forum Langage
    Réponses: 12
    Dernier message: 16/01/2015, 15h59
  3. file_exists ne trouve pas mon fichier
    Par xstier dans le forum Langage
    Réponses: 3
    Dernier message: 18/05/2011, 22h14
  4. [LigneDeCommande]find ne trouve pas mon fichier
    Par verbose dans le forum Linux
    Réponses: 6
    Dernier message: 17/03/2010, 09h44
  5. [CS4] Dreamweaver ne trouve pas mon fichier css
    Par Pierre21 dans le forum Dreamweaver
    Réponses: 2
    Dernier message: 17/06/2009, 19h18

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