Bonjour,
J'ai un souci avec un UploadFile se trouvant a l'interieur d'un UpdatePanel.
Ce control fait parti d'un formulaire et si l'utilisateur ne rentre pas correctement les donnees, je reaffiche mon formulaire. Si les donnees des champs de mon formulaire precedement remplies sont conservees, ce n'est pas le cas de celles de l'UploadFile.
Je precise au passage que j'utilise un PostBackTrigger pour lancer mon formulaire.
Voici en resume ce que j'ai actuellement :
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 <asp:UpdatePanel ID="pnlUpdateNews" runat="server" UpdateMode="Conditional"> <ContentTemplate> <p> Fields marked with '*' are mandatory</p> <asp:Label CssClass="error_message" ID="ErrorMessage" EnableViewState="False" runat="server" /> <fieldset class="eventdetails"> <asp:Label runat="server" AssociatedControlID="entryTitle">News title:*</asp:Label> <asp:TextBox ID="entryTitle" runat="server" /> <asp:Label runat="server" AssociatedControlID="entryDescription">Description:</asp:Label> <asp:TextBox ID="entryDescription" runat="server" Rows="7" TextMode="MultiLine" /> <asp:Label runat="server" AssociatedControlID="entryLink">Upload document:</asp:Label> <asp:FileUpload EnableViewState="False" Height="21px" ID="entryLink" runat="server" /> </fieldset> <asp:ImageButton OnClick="btnSubmitClick" ImageUrl="~/Images/Buttons/btn_submit.gif" ID="btnSubmit" runat="server" ImageAlign="Middle" /> </ContentTemplate> <Triggers> <asp:PostBackTrigger ControlID="btnSubmit" /> </Triggers> </asp:UpdatePanel>
J'ai bien deux pistes mais je n'arrive pas a les mettre en oeuvre :
1 - Utiliser une variable de session :
Mais PostedFile n'est pas "setable" visiblement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part this.entryLink.PostedFile = Session["fileToUpload"].ToString();
2 - Dans ma methode behind verifiant si les donnees entrees par l'utilisateur sont valides, lancer un PostBackTrigger seulement si les donnees sont correctes. Dans le cas contraire, il me faudrait lancer une restitution partielle de mon UpdatePanel. Mais est-il possible de definir ca en behind ?
Toutes les autres idees sont les bienvenues.
Partager