Bonjour,
Je n'arrive pas à vider le composant lorsque le fichier est chargé.
Si j'ai un autre bouton sur la page, il renvoie à nouveau le fichier.
Merci pour votre aide.
Bonjour,
Je n'arrive pas à vider le composant lorsque le fichier est chargé.
Si j'ai un autre bouton sur la page, il renvoie à nouveau le fichier.
Merci pour votre aide.
J'ai testé une fonction que j'ai trouvée sur internet :
Hélàs sans succès. Même avec la partie javascript
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 protected void AsyncFileUpload1_UploadedComplete(object sender, AjaxControlToolkit.AsyncFileUploadEventArgs e) { string filename = ConfigurationManager.AppSettings["URLDocument"] + AsyncFileUpload1.PostedFile.FileName; AsyncFileUpload1.SaveAs(filename); Page.Controls.Remove(AsyncFileUpload1); }![]()
Le code aspx :
Le .cs :
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 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Test-Components.aspx.cs" Inherits="Test_Components" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <script type = "text/javascript"> function uploadComplete(sender) { $get("activity").style.visibility = 'hidden'; $get("<%=lblMesg.ClientID%>").innerHTML = "Chargement de votre pièce jointe réussi."; //Clear the file name textbox var ctrlText = sender.get_element().getElementsByTagName("input"); for (var i = 0; i < ctrlText.length; i++) { if (ctrlText[i].type == "text") { ctrlText[i].value = ""; ctrlText[i].style.backgroundColor = "white"; } } } function uploadError(sender) { $get("<%=lblMesg.ClientID%>").innerHTML = "Erreur pendant le chargement."; } function uploadStarted(sender) { $get("AsyncFileUpload1").style.visibility = 'hidden'; } </script> </head> <body> <form id="form1" runat="server"> <ajaxToolkit:ToolkitScriptManager runat="server" /> <div> <ajaxToolkit:AsyncFileUpload ID="AsyncFileUpload1" runat="server" ViewStateMode="Enabled" ThrobberID="activity" onuploadedcomplete="AsyncFileUpload1_UploadedComplete" onuploadedfileerror="AsyncFileUpload1_UploadedFileError" CompleteBackColor="Lime" ErrorBackColor="Red" OnClientUploadError="uploadError" OnClientUploadComplete="uploadComplete" OnClientUploadStarted="uploadStarted" PersistFile="True" /> <img src="images/activity.gif" runat="server" id="activity" alt="Chargement en cours ..." title="Chargement en cours ..." /> <br /> <asp:Label ID="lblMesg" runat="server" Text="" /> <br /><br /> <asp:Button ID="Button1" runat="server" Text="Sauvegarder" onclick="Button1_Click" /> <br /> <asp:Label ID="LbSauvegarde" runat="server" Text="Avant click" /> </div> </form> </body> </html>
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 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; using System.Configuration; using System.Collections; using System.Web.Security; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using MySql.Data.MySqlClient; using System.Net.Mail; using System.IO; using System.Text.RegularExpressions; using System.Text; using Bitly; public partial class Test_Components : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void AsyncFileUpload1_UploadedComplete(object sender, AjaxControlToolkit.AsyncFileUploadEventArgs e) { string filename = ConfigurationManager.AppSettings["URLDocument"] + AsyncFileUpload1.PostedFile.FileName; AsyncFileUpload1.SaveAs(filename); Page.Controls.Remove(AsyncFileUpload1); } protected void AsyncFileUpload1_UploadedFileError(object sender, AjaxControlToolkit.AsyncFileUploadEventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { LbSauvegarde.Text = "Après click"; } }
une technique pour effacer le contenu du contrôle j'espère ça t'aidera:
http://www.aspsnippets.com/Articles/...e-revisit.aspx
et dans ton upload completed dans le codebehind tu peux vérifier si il y a un fichier dedans avant de le sauvegarder avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part AsyncFileUpload1.HasFile
Merci Youtpout, je regarde ça demain et je te dirais si ça marche![]()
Partager