Pour uploader un fichier j'utilise la bibliothèque flajaxian
Toujours dans la suite de mes posts ...
J'ai une liste de grossites
Quand je sélectionne un grossiste, il y a la création de mon tableau avec différente infos (ça marche bien).
Maintenant lors de l'ajout, je souhaiterais mettre une image mais ça bug
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 $(function () { //Liste des grossistes $.ajax({ type: "POST", url: "Edit_couleur.aspx/GetGrossistes", data: '{"PageEnCours":"' + document.location.href.toString() + '"}', contentType: "application/json; charset=utf-8", dataType: "json", success: function (msg) { $('#lstGrossistes').append($('<option>', { value: "-1", text: "Sélectionnez un grossiste" })); if (msg.d != null) { $.each(msg.d, function (i, item) { $('#lstGrossistes').append($('<option>', { value: item.IdGros, text: item.Libelle })); }); } }, error: function () { alert('oups'); } }); //Select change sur liste grossiste $('#lstGrossistes').change(function () { var Gros = $(this).val(); if (Gros == "-1") { $('#divcouleur').html(""); } else { $.ajax({ type: "POST", url: "Edit_couleur.aspx/GetCouleur", data: '{"IdGros":' + Gros + ',"PageEnCours":"' + document.location.href.toString() + '"}', contentType: "application/json; charset=utf-8", dataType: "json", success: function (msg) { BuildTable(msg); $('.error').hide(); } }); } }); //delagate bonton add car n'existe pas au load $(document).on("click", "#Add", function () { $('.error').hide(); var CtrlLib = $('#txtCouleur'); var Lib = CtrlLib.val(); if (Lib == "") { $("#Lib_error").show(); CtrlLib.focus(); return false; } var CtrlImgName = $('#LogoName'); var ImgName = CtrlImgName.val(); if (ImgName == "") { $("#Img_error").show(); return false; } var myData = {}; myData.IdGros = Gros; myData.Code = $('#txtCode').val(); myData.Libelle = Lib; myData.ImgName = ImgName; myData.PageEnCours = document.location.href; AddCouleur(myData); return false; }); });côté code behind
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 function BuildTable(msg) { var table = '<table><thead><tr class="Entete"><th>Libellé</th><th>Code</th><th colspan="2"></th></thead><tbody>'; for (var post in msg.d) { var row = '<tr id=' + msg[post].IdCouleur + '>'; row += '<td>' + msg[post].Libelle + '</td>'; row += '<td>' + msg[post].IdCouleurGros + '</td>'; row += '<td>' + '</td>'; row += '<td><img src="/Images/suppr.png" alt="Supprimer" id="Delete"></td>'; row += '</tr>'; table += row; } //Pied pour ajout table += '<tr class="Entete2"><td><input type="text" id="txtCouleur" /><br /><label class="error" for="txtCouleur" id="Lib_error">Champs Libellé obligatoire.</label></td>' table += '<td><input type="text" id="txtCode" /><br /></td>' table += '<td><br /><input type="hidden" id="LogoName" /><div id="MyDiv"></div>' table += '<fjx:FileUploader ID="uplFichier" runat="server" UseInsideUpdatePanel="true" SuppressQueryStringParametersOnUploadUrl="False" CssUrl="~/CSS/FileUploader.css" JsFunc_FileStateChanged="FileStateChanged" MaxNumberFiles="1" MaxFileNumberReachedMessage="1 fichier maximum par upload" RequestAsPostBack="True" AllowedFileTypes="Images (Jpeg, Gig, Png):*.jpg;*.jpeg;*.png;*.gif" TransparentBackground="true" IsDebug="false" OnFileReceived="uplFichier_FileReceived"></fjx:FileUploader>' table += '<br /><label class="error" id="Img_error">Champs Image obligatoire.</label></td>' table += '<td><img src="/Images/add.png" alt="Ajouter" id="Add" /></td></tr>' table += '</tbody></table>'; $('#divcouleur').html(table); };
Je me logue, puis quand je vais sur ma page, une exception est tout de suite levée, aucun code ne s'exécute.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Protected Sub uplFichier_FileReceived(ByVal sender As Object, ByVal e As com.flajaxian.FileReceivedEventArgs) Try 'Dim evt As com.flajaxian.FileReceivedEventArgs = CType(e,com.flajaxian.FileReceivedEventArgs) Dim CheminPhy As String = Server.MapPath("~/Images/Temp/") If Not My.Computer.FileSystem.DirectoryExists(CheminPhy) Then My.Computer.FileSystem.CreateDirectory(CheminPhy) e.File.SaveAs(CheminPhy & "\" & e.File.FileName) Catch ex As Exception HelperJournal.WriteException(ex, "Erreur dans uplFichier_FileReceived", Diagnostics.TraceEventType.Critical) End Try End Sub
Soit que le flash à la volée c'est nul et il vaut mieux fileuploader les fichier différemment soit que j'ai aussi besoin d'aideLe contrôle 'ctl00_head_uplFichier' de type 'FileUploader' doit être placé dans une balise form avec runat=server.
Description : Une exception non gérée s'est produite au moment de l'exécution de la requête Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.
Détails de l'exception: System.Web.HttpException: Le contrôle 'ctl00_head_uplFichier' de type 'FileUploader' doit être placé dans une balise form avec runat=server.
Erreur source:
Une exception non gérée s'est produite lors de l'exécution de la requête Web actuelle. Les informations relatives à l'origine et l'emplacement de l'exception peuvent être identifiées en utilisant la trace de la pile d'exception ci-dessous.
Trace de la pile:
[HttpException (0x80004005): Le contrôle 'ctl00_head_uplFichier' de type 'FileUploader' doit être placé dans une balise form avec runat=server.]
System.Web.UI.Page.VerifyRenderingInServerForm(Control control) +9049264
com.flajaxian.FileUploader.Render(HtmlTextWriter writer) +53
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +100
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +208
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +8
System.Web.UI.Control.Render(HtmlTextWriter writer) +10
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +100
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +208
System.Web.UI.HtmlControls.HtmlHead.RenderChildren(HtmlTextWriter writer) +21
System.Web.UI.HtmlControls.HtmlContainerControl.Render(HtmlTextWriter writer) +31
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +100
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +208
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +8
System.Web.UI.Control.Render(HtmlTextWriter writer) +10
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +100
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +208
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +8
System.Web.UI.Page.Render(HtmlTextWriter writer) +29
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +100
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3060
Partager