Le scénario:
J'ai une page web ASP.Net que je l'intention d'utiliser pour laisser l'utilisateur (et non les utilisateurs réels, mais le gestionnaire de contenu essentiellement) insérer et modifier les enregistrements dans un table en utilisant un formulaire. Ce formulaire est dans un UpdatePanel, car j'utilise également des listes déroulantes en cascade pour permettre à l'utilisateur de sélectionner certaines valeurs. Maintenant, cette FormView contient également 4 contrôles FileUpload, et comme vous le savez peut-être, ces contrôles fileupload nécessitent une publication complète puisque la plupart des navigateurs ne permettent pas à Javascript d'accéder au disque. Donc, ce problème aurait été résolu en faisant quelque chose comme:FileUpload à l'intérieur d'un FormView UpdatePanel
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<Triggers>
<asp:PostBackTrigger ControlID="InsertButton" />
<asp:PostBackTrigger ControlID="UpdateButton" />
</Triggers>
<ContentTemplate>....</ContentTemplate>
</asp:UpdatePanel>
Edit: Vous avez oublié d'ajouter que le fileuploading a lieu dans les OnUpdating
et OnInserting
événements de la SqlDataSource.
Le problème:
Depuis le InsertButton
et l'UpdateButton
résident à l'intérieur du FormView, je ne peux pas accéder directement à leur identité de par balisage. Et MSDN says que:
ajouter Programmatically contrôles PostBackTrigger n'est pas pris en charge.
Veuillez suggérer une solution pour que cela fonctionne. Toute idée à ce sujet est très appréciée. Merci.
PS- Une solution viable pour moi était de définir comme l'ensemble FormView se PostBackTrigger du UpdatePanel:
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<Triggers>
<asp:PostBackTrigger ControlID="FormView1" />
</Triggers>
<ContentTemplate>....</ContentTemplate>
</asp:UpdatePanel>
Mais maintenant, en raison d'un peu de changement dans les exigences, cette solution (si vous appelez une solution) est inacceptable.
merci beaucoup (Y), vous économisez ma journée !!! par juste FormView1_DataBound. –