Avatar billede edl Nybegynder
20. april 2004 - 14:45 Der er 8 kommentarer

Print web side i ASP.Net

Hej
Hvorledes printer man en side i ASP.Net

Jeg trykkes på print på en web-side "Page.aspx?ID=2" derefter
indlæsen en ny side ved navn "PrintPage.aspx?ID=2"
(Uden knapper menuer o.s.v)

Når der trykkes på Print eller Tilbage i "printer dialogen" vil
jeg tilbage til "Page.aspx?ID=2"

Gode point til den der kan hjælpe mig .-)
Avatar billede nielsbrinch Nybegynder
20. april 2004 - 17:52 #1
ASP.NET kan ikke printe. Men det kan JavaScript. Du vil sikkert få held med at stille spørgsmålet i JavaScript-kategorien.
Avatar billede erve Nybegynder
20. april 2004 - 22:31 #2
Jeg ved ikke heltom det er dette du er interesseret i, men vi har før gjort det på denne måde:

          StringBuilder scriptString = new StringBuilder(null);

          scriptString.Append("<script language=\"JavaScript1.2\">");
          scriptString.Append("function doprint()");
          scriptString.Append("{window.print();}");
          scriptString.Append("document.onload = doprint();");
          scriptString.Append("</script>");

          if(!this.IsClientScriptBlockRegistered("printOnLoad"))
            this.RegisterClientScriptBlock("printOnLoad", scriptString.ToString());

Dette vil medføre et javascript der onload åbner Windows's printdialog
Avatar billede edl Nybegynder
20. april 2004 - 22:50 #3
Hvorledes skal dette sætte ind på PrintPage.aspx?ID=2
Skal det ligge i Onload eller Hvad ???

JEG TROR DU ER PÅ RETTE SPOR
Avatar billede edl Nybegynder
20. april 2004 - 22:54 #4
Denne kommer med en fejl

'StringBuilder' er en type og kan ikke anvendes som et udtryk

Kildefejl:
Linje 115:
Linje 116:  Sub PrintPage
Linje 117:  StringBuilder scriptString = new StringBuilder(null);
Linje 118:  scriptString.Append("<script language=\"JavaScript1.2\">");
Linje 119:  scriptString.Append("function doprint()");
Avatar billede burningice Nybegynder
21. april 2004 - 09:02 #5
du kan ikke blande c# og vb.net på den måde
Avatar billede erve Nybegynder
21. april 2004 - 18:49 #6
Du oversætter mit C# eksempel til VB :o) og lægger det i Page_Load eventen i din codebehindfil.
Avatar billede edl Nybegynder
21. april 2004 - 19:55 #7
Det vil jeg prøve på  - Selv :0)
Avatar billede froenie Nybegynder
10. juli 2006 - 14:13 #8
Hvis du gerne vil have alt kode i codebehind så er erve's løsning god.
Jeg ville prøve at skrive window.print() direkte i onload på siden, altså i html'en. Det er en smule nemmere, og så skal du ikke oversætte. Har selv brugt det og det virker fint.

eks:
<body onload="window.print()"/>

Ps. hvis det er en printvenlig side du gerne vil vise, kan det løses forholdsvis nemt ved brug af stylesheet.
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