Toon posts:

[C#] Pagina verversen na Response.Close()

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0Henk 'm!

  • PdeBie
  • Registratie: Juni 2004
  • Laatst online: 22:02
Heren/Dames developers,

is het mogelijk om een pagina automatisch te verversen na een Response.Close()? Naar mijn weten niet, maar misschien dat iemand hier toch nog iets weet.

Uitleg waarom:
Als de gebruiker een bestelling opent in het systeem, dient hij deze te bevestigen en uit te printen.
Dit willen we met 1 klik op de knop doen. Dit werkt op zich ook wel, maar nadat de bestelling bevestigd is veranderd de status van de bestelling en moeten er onder andere andere knoppen getoond worden etc. Echter vanwege de Response.Close() gebeurt dit laatste niet.

Het printen gebeurt namelijk middels reporting services van SQL server 2008. Deze genereert een PDF en toont deze in het scherm middels:
code:
1
2
3
4
5
6
7
Response.ContentType = mimeType;
            Response.AddHeader("Content-disposition", String.Format("attachment; filename={0}.{1}", filename, extension));
            Response.OutputStream.Write(bytes, 0, bytes.Length);
            Response.OutputStream.Flush();
            Response.OutputStream.Close();
            Response.Flush();
            Response.Close();


Echter na dit generen van de PDF moet de pagina dus ververst worden, omdat de status van de bestelling gewijzigd is. En dit laatste krijg ik niet voor elkaar vanwege die Response.Close().

Het updaten van de status gebeurt tevens server-side. Pas als dit gelukt is mogen de nieuwe knoppen getoond worden. Dit kan dus niet Client-side afgehandeld worden helaas.

Iemand ideeën?

Acties:
  • 0Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Laatst online: 03:26

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

Na een response.close wordt de stream gesloten en kun je dus, d'uh, geen output meer sturen. Waarom maak je niet een stukje JS ofzo die na een bepaalde timeout (of beter: event oid) de pagina reload? En nog makkelijker: als je de download gewoon in een nieuwe tab laat openen ben je er ook; de tab sluit vanzelf nadat de download compleet is. De pagina die de download initieert kan dan met een refresh/ajax-poll gewoon de status opvragen tot 'ie "compleet" is en dan doorgaan/redirecten/whatever.

[Voor 44% gewijzigd door RobIII op 13-05-2011 12:17]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Roses are red Violets are blue, Unexpected ‘{‘ on line 32.

Over mij



Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee