webForumDet fria alternativet

response.flush i sub

1 svar · 239 visningar · startad av cyprys

cyprysMedlem sedan dec. 20003 563 inlägg
#1

Jag har ett formulär där man bl.a. kan ladda upp 4 bilder.
Som en kanske inte allt för onödigt funktion så skulle jag vilja flusha ut ett meddelande till användaren för varje bild och alla information som är uppladdad.

Om jag hade kört allt på aspx-sidan och <%%>-taggar så hade det varit enkelt att bara använda response.write och response.flush i en salig harmoni.

Men nu kör jag CB och denna funktion i en sub, där man "inte" kan använda response.write.
Hur skulle man kunna flusha ut en del meddelanden allteftersom från denna sub?

/r :r
Det funkar med response.write(), jag tänkte lite fel.
Men följdfrågan och det jag vill är i sådana fall om man kan fylla t.ex. en label på samma sätt?

/redigering 2
Eller exempel på hur jag gör nu. (bara ett exempel)

    Sub UploadCarInfo(ByVal sender As Object, ByVal e As EventArgs)

        Panel1.Visible = False
        Response.Buffer = False

        Dim i As Integer
        Dim x As Integer
        Dim y As String
        Response.Flush()

        For x = 0 To 100
            For i = 0 To 200
                y &= "y"
            Next
            Response.Write("ss")
            label1.Text &= "ss"
            Response.Flush()
        Next

    End Sub

Nu skrivs response.write("ss") ut högst upp på sida (denna kod ligger i en ascx-fil som är kopplad till en placeholder mitt på sidan), men labeln får ju hela värdet på en gång.
Vad jag vill är att få in texten efter att index.aspx-filen laddats men inte denna ascx, utan att det skall skrivas ut allt eftersom.
Eller så packar jag ihop hela iden och skriver ut den flushtexten på en helvit bakgrund.

cyprysMedlem sedan dec. 20003 563 inlägg
#2

Ok. nu har jag fått nästan så jag vill ha det. Har dock en fråga angående FileUpload & buffer.

Än så länge har jag bara sysslat med detta lokalt med lite större filer än i framtiden.

                    Response.Write("Bild 1 - laddas upp")
                    Response.Flush()
                    If file1.PostedFile.ContentLength > 1 Then
                        filnamn = file1.PostedFile.FileName
                        filnamn2 = Split(filnamn, "\")
                        kortnamn = filnamn2(UBound(filnamn2))
                        file1.PostedFile.SaveAs("c:\" & kortnamn)
                        Response.Write(" - klart<br />")
                    Else
                        Response.Write(" - ej tillgänglig<br />")
                    End If
                    Response.Flush()

Jag tror att detta fungerar så som jag vill.
Det är en viss fördröjning mellan "laddas upp" och "klart".
Längre ju större filerna är.

Dock är ju fundersam på de fördröjning som sker innan någonting skrivs ut över huvud taget.
Den fördröjningen är ungefär lika lång som det tar att ladda upp alla filer. Vad gör systemet då alldeles innan den kör OnclickSubben?

Tankas alla byte upp innan koden körs som man skrivit i subben, eller är det bara lite info om filerna man skalll ladda upp som samlas in?

134 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)