Avatar billede justincase1089 Nybegynder
27. juni 2008 - 09:30 Der er 3 kommentarer

Hvornår vender submittet tilbage?

Hej

Jeg har en spøjs en her.

På en side har jeg en button. Dens codebehind gør noget i retningen af det her:
protected void Button1_Click(object sender, EventArgs e)
{
    .... en lang opgave
    BinaryReader binReader = new BinaryReader(File.Open(@"c:\resultatet af ovenstående opgave", FileMode.Open, FileAccess.Read));
    binReader.BaseStream.Position = 0;
    byte[] binFile = binReader.ReadBytes(Convert.ToInt32(binReader.BaseStream.Length));
    binReader.Close();

    Response.Clear();
    Response.AddHeader("Content-Disposition", "attachment; filename=Animation.mpeg");
    Response.AddHeader("Content-Length", binFile.Length.ToString());
    Response.ContentType = "application/octet-stream";
    Response.BinaryWrite(binFile);
}


Det jeg gerne vil er at gøre noget på siden der indikerer at jeg er igang med at processsere i min code behind. Det er ikke noget problem at vise noget. Det kan gøres på mange måder i form af f.eks. en onmouseup på knappen der så vser en animeret gif. Det vanskelige her er at finde ud af hvornår requestet vender tilbage med en SaveAs dialog så man kan gemme responset, for det er jo netop på det tidspunkt jeg vil gemme min animerede gif væk igen.

Jeg kan sgu ik' finde u a'et!

Justin Case
Avatar billede driis Nybegynder
28. juni 2008 - 14:21 #1
Du poster data til serveren, som kører din kode, genererer markup og sender tilbage til browseren. Så svaret er, at du kan se det ved at siden refreshes. Har du brug for en statusvariabel i din markup, kan du databinde til en serverside property, f.eks.
Avatar billede justincase1089 Nybegynder
01. juli 2008 - 17:21 #2
jammen siden refreshes ikke !!

codebehind:

    protected void Page_Load(object sender, EventArgs e)
    {
        Button1.Text = "Click me";
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        BinaryReader binReader = new BinaryReader(File.Open(@"C:\Inetpub\wwwroot\WebSite2\20080601_0230.png", FileMode.Open, FileAccess.Read));
        binReader.BaseStream.Position = 0;
        byte[] binFile = binReader.ReadBytes(Convert.ToInt32(binReader.BaseStream.Length));
        binReader.Close();

        Response.Clear();
        Response.AddHeader("Content-Disposition", "attachment; filename=Picture.png");
        Response.AddHeader("Content-Length", binFile.Length.ToString());
        Response.ContentType = "application/octet-stream";
        Response.BinaryWrite(binFile);
    }

html:

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:button id="Button1" runat="server" onmouseup="this.value='please wait';" onclick="Button1_Click" text="Button" />   
    </div>
    </form>
</body>
</html>


Når mit response fra knap klikket kommer tilbage er det med en SaveAs dialog, mens captionen på knappen bliver ved med at hedde "please wait"
Avatar billede montago Praktikant
12. juli 2008 - 11:05 #3
det er jo klart....


Hvis din response, returnere et billede, bliver siden ikke tegnet igen... din browser modtager jo kun ET response... som endten er billedet, eller den nye HMTL
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester