none
Générer un __doPostBack RRS feed

  • Question

  • Bonjour

    je cherche à provoquer un __doPostBack() d'un UpdatePanel après le
    AsyncFileUpload1_UploadedComplete.

    Voila ce que je fait actuellement

    ASPX
    ---------------
    <formid="form1"runat="server">
    <scripttype="text/javascript">
    function uploadComplete(sender, args) {
    __doPostBack(
    'ctl00_UpdatePanel2')
    }
    </script>
    <AjaxControl:ToolkitScriptManagerID="ToolkitScriptManager1"runat="server"EnablePartialRendering="true"/>
    <div>
    <asp:UpdatePanelID="UpdatePanel1"runat="server"UpdateMode="Conditional">
    <ContentTemplate>
    <AjaxControl:AsyncFileUploadrunat="server"ID="AsyncFileUpload1"Width="400px"UploadingBackColor="#CCFFFF"
    ThrobberID="myThrobber"PersistFile="false"OnClientUploadComplete="uploadComplete"/><%----%>
    &nbsp;<asp:Labelrunat="server"ID="myThrobber"Style="display: none;"><imgalign="middle"alt=""src="Images/uploading.gif"/></asp:Label>
    <br/>
    <divid="Terror"runat="server"style="color: Red; background-color: Silver; display: none;"/>
    </div>
    </ContentTemplate>
    </asp:UpdatePanel>
    <asp:UpdatePanelID="UpdatePanel2"runat="server">
    <ContentTemplate><asp:ImageID="Image2"runat="server"/>
    </ContentTemplate>
    </asp:UpdatePanel>

    </div>
    </form>
    </
    body>
    </
    html>

    --------------------------
    VB
    -------------
    ProtectedSub AsyncFileUpload1_UploadedComplete(ByVal sender AsObject, ByVal e As AjaxControlToolkit.AsyncFileUploadEventArgs) Handles AsyncFileUpload1.UploadedComplete
    If e.filesize < 102400 Then
    Dim m AsNew FileStream(AsyncFileUpload1.PostedFile.FileName, FileMode.Open)
    Dim ResultImg As System.Drawing.Image = System.Drawing.Image.FromStream(m)
    Dim Hauteur AsInteger = 0
    Dim Largeur AsInteger = 100
    Dim RatioHautLarg AsDecimal = ResultImg.Height / ResultImg.Width
    Dim HauteurSortie AsInteger = Hauteur
    Dim LargeurSortie AsInteger = Largeur
    If (Largeur = 0) Then' si seule la hauteur est prcise alors on fixe la hauteur et on applique le ratio sur la largeur
    LargeurSortie = Math.Round(Hauteur / RatioHautLarg)
    ElseIf (Hauteur = 0) Then' si seule la largeur est prcise alors on fixe la largeur et on applique le ratio sur la hauteur
    HauteurSortie = Math.Round(Largeur * RatioHautLarg)
    EndIf
    ResultImg = ResultImg.GetThumbnailImage(LargeurSortie, HauteurSortie, Nothing, New IntPtr())
    ResultImg.Save(MapPath(
    "~/Images/Produits/0.gif"))
    ResultImg.Dispose()
    'm.Flush()
    m.Close()
    Dim f AsNew FileInfo(MapPath("~/Images/Produits/" & AsyncFileUpload1.FileName))
    f.Delete()
    Image2.ImageUrl =
    "~/Images/Produits/0.gif"
    Image2.Visible = True
    EndIf

    ---------------------------------
    A la première utilisation cela fonctionne et j'ai bien l'image que je viens d'UpLoader qui s'affiche mais si j'essaye dUpLoader une autre image, celle-ci ne change pas, il faut que je fasse F5(actualiser)

    Bruno POUPON
    dimanche 10 octobre 2010 16:22

Réponses

  • Bon je suis trop null evidement que cela ne peut pas fonctionner il suffisait que je fasse

    et c'est ok

    Dim ResultImg As System.Drawing.Image = System.Drawing.Image.FromStream(AsyncFileUpload1.FileContent)
    

     

     

     


    Bruno POUPON
    • Marqué comme réponse PRIMACTIF mardi 12 octobre 2010 15:04
    mardi 12 octobre 2010 15:04

Toutes les réponses

  • Bonjour,

     

    J’ai reproduit votre scenario et les images s’affichent normalement. Je n’ai pas besoin de rafraîchir la page avec F5. Quel navigateur web utilisez-vous ? Est-ce que vous avez le même résultat en debug et en release ?

     

    Cordialement,

    Alex

    ________________

    Publiez un article sur une de ces technologies : Visual Basic, C#, C++, .NET, ASP.NET, SQL Server, Silverlight, SharePoint 2010, SharePoint 2007

    Windows Phone 7

    Astuces pour Visual Studio 2010

    XNA – Développement jeux vidéo

    Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Silverlight, Workflow Foundation, WPF

    Café des usages

    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

     

     

    mardi 12 octobre 2010 08:40
  • Bonjour

    J'utilise IE8 et c'est bien un problème de cache car avec l'astuce de ciryl (mettre un paramêtre derrière l'image fonctionne bien)

    Image2.ImageUrl = "~/Images/Produits/0.gif?=" & Now.Ticks.ToString
    

    Maintenant je viens de faire des tests avec FF et Chrome et j'ai un autre problème

    Dim m As New FileStream(AsyncFileUpload1.PostedFile.FileName, FileMode.Open)
    

    me retourne un objet avec un mauvais chemin de l'image ("C:\WINDOWS\system32\") au lieu du chemin sélectionné bien que le chemin soit bon dans le label de sélection.

    Tu utilise quoi comme navigateur ?

     


    Bruno POUPON
    mardi 12 octobre 2010 13:02
  • Bon je suis trop null evidement que cela ne peut pas fonctionner il suffisait que je fasse

    et c'est ok

    Dim ResultImg As System.Drawing.Image = System.Drawing.Image.FromStream(AsyncFileUpload1.FileContent)
    

     

     

     


    Bruno POUPON
    • Marqué comme réponse PRIMACTIF mardi 12 octobre 2010 15:04
    mardi 12 octobre 2010 15:04