Estoy utilizando el control AsyncFileUpload del Ajax Control ToolKit. Lo principal me lo hace bien, me sube al archivo al servidor sin hacer postback pero me gustaría que ademas una vez subido se muestre la imagen en un control imagen y muestre un mensaje en un label pero no consigo que se actualice.
Código:
<asp:UpdatePanel ID="upAvatar" runat="server" UpdateMode="Conditional"> <ContentTemplate> <asp:AsyncFileUpload ID="AsyncFileUpload1" onuploadedcomplete="AsyncFileUpload1_UploadedComplete" runat="server" /> <asp:Label ID="lblInformacion" runat="server" Text="Puede selecionar o cambiar el avatar luego en el menu de usuario. Solo archivos .jpg o .gif"></asp:Label> <br /> <asp:Image ID="imgAvatar" runat="server" ViewStateMode="Enabled" Height="150px" Width="150px" Visible="False" /> </ContentTemplate> </asp:UpdatePanel>
Código:
He probado también de poner el AsyncFileUpload1 fuera del updatepanel: pero tampoco me funcionaProtected Sub AsyncFileUpload1_UploadedComplete(sender As Object, e As AjaxControlToolkit.AsyncFileUploadEventArgs) Handles AsyncFileUpload1.UploadedComplete Dim filename As String = System.IO.Path.GetFileName(AsyncFileUpload1.FileName) If AsyncFileUpload1.PostedFile.FileName = "" Then lblInformacion.Text = "Sin archivo seleccionado" imgAvatar.Visible = False Else Dim serverFileName As String = Path.GetFileName(AsyncFileUpload1.PostedFile.FileName) Dim fullUploadPath As String = Path.Combine(uploadDirectory, serverFileName) Dim extension As String = Path.GetExtension(Me.AsyncFileUpload1.PostedFile.FileName) Select Case extension.ToLower() Case ".gif", ".jpg" lblInformacion.Text = "Extension " & extension & " valida" If SubirArchivo(serverFileName, fullUploadPath) Then 'mostramos imagen si se a subido bien imgAvatar.ImageUrl = "~/TmpUploads/" & serverFileName imgAvatar.Visible = True End If Case Else lblInformacion.Text = "Extension " & extension & "no valida, solo .jpg o .gif (Subir un avatar es opcional)" End Select End If upAvatar.Update() End Sub
Código:
<asp:AsyncFileUpload ID="AsyncFileUpload1" onuploadedcomplete="AsyncFileUpload1_UploadedComplete" runat="server" /> <asp:UpdatePanel ID="upAvatar" runat="server" UpdateMode="Conditional"> <ContentTemplate> <asp:Label ID="lblInformacion" runat="server" Text="Puede selecionar o cambiar el avatar luego en el menu de usuario. Solo archivos .jpg o .gif"></asp:Label> <br /> <asp:Image ID="imgAvatar" runat="server" ViewStateMode="Enabled" Height="150px" Width="150px" Visible="False" /> </ContentTemplate> <Triggers> <asp:AsyncPostBackTrigger ControlID="AsyncFileUpload1" EventName="UploadedComplete"/> </Triggers> </asp:UpdatePanel>