IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Ajax Discussion :

Générer un __doPostBack


Sujet :

ASP.NET Ajax

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    dev
    Inscrit en
    Mai 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : dev
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2007
    Messages : 73
    Par défaut Générer un __doPostBack
    Bonjour

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

    Voila ce que je fait actuellement

    ASPX
    ---------------
    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
    <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
    -------------
    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
    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)

  2. #2
    Expert confirmé
    Avatar de Webman
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 232
    Par défaut
    Bonjour,

    Si j'ai bien compris votre problème vous voulez génerer un postback depuis un update panel, voici un morceau de code montrant comment faire cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ScriptManager scriptManager = ScriptManager.GetCurrent(Page);
    if (scriptManager != null)
    {
        scriptManager.RegisterPostBackControl(SaveButton);
    }
    Ce morceau de code est extrait du Blog de Brian Orrell consultable à cette adresse : http://borrell.parivedasolutions.com...back-from.html


    Cordialement,
    Ronald
    Rédacteur .Net
    MVP C#
    Mes articles - CodeQuake (blog)
    Pas de question technique par MP, merci.

  3. #3
    Membre confirmé
    Homme Profil pro
    dev
    Inscrit en
    Mai 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : dev
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2007
    Messages : 73
    Par défaut
    Bonjour et merci pour la réponse

    Mais mon titre était mauvais en effet mon script pour faire le postback est ok, le Hic c'est que lors du UploadedComplete tous est ok, mon script marche bien et l'image choisi, s'affiche, mais si j'en sélectionne une autre, IE8 garde en cache la 1ere image.

    il faut faire F5 pour voir la nouvelle image.

    J'ai essayé avec FF et la oh surprise, mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim m AsNew FileStream(AsyncFileUpload1.PostedFile.FileName, FileMode.Open)
    
    me retourne un objet qui pointe sur "C:\WINDOWS\system32\" au lieu du répertoire que j'ai choisi

    Donc maintenant j'ai 2 problèmes

  4. #4
    Membre confirmé
    Homme Profil pro
    dev
    Inscrit en
    Mai 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : dev
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2007
    Messages : 73
    Par défaut
    Salut
    J'ai trouvé la solution pour forcer l'affichage de la bonne image avec IE.

    Pour le hic avec FF je reposte pour que le sujet soit bon

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Générer une liste
    Par pfredin dans le forum Langage SQL
    Réponses: 6
    Dernier message: 02/04/2003, 15h30
  2. Réponses: 2
    Dernier message: 31/08/2002, 14h00
  3. Générer un nombre aléatoire entre 0 et 1 (INCLUS !!!)
    Par haypo dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 22/08/2002, 16h30
  4. [CR][VB] comment générer un état ?
    Par ndi dans le forum SDK
    Réponses: 3
    Dernier message: 22/08/2002, 13h13
  5. Réponses: 5
    Dernier message: 08/07/2002, 16h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo