Avatar billede mcardle Nybegynder
19. marts 2008 - 15:44 Der er 8 kommentarer og
1 løsning

webBrowser vil ikke åbne lokal html

Hej eksperter.

Er helt grøn til C#, men har programmeret PHP i 4 år nu og søger nye udfordringer.

Anyways, så er mit problem, at jeg har oprettet en onclick på en knap, som genererer en html-fil og så åbner den et ny form, med en webBrowser i, som så skal åbne den ny-genererede html-side.

Html-siden bliver lavet, kildekoden er fin og i min onload på min previewform checker jeg at den kan finde filen. Det kan den, men den vil ikke åbne filen i browseren.

Her er koden der genererer filen:

// Checks if directory "c:\temp" exists
if(!Directory.Exists(@"c:\temp"))
  {
      Directory.CreateDirectory(@"c:\temp");
  }

// This deletes the file if it already exists
if (File.Exists(@"c:\temp\temp.html"))
  {
      File.Delete(@"c:\temp\temp.html");
  }

// Creates a HTML file
StreamWriter Stream = new StreamWriter(@"c:\temp\temp.html", true, Encoding.Default);
Stream.WriteLine("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">");

Stream.WriteLine("");
Stream.WriteLine("<html xmlns=\"http://www.w3.org/1999/xhtml\">");
Stream.WriteLine("\t<head>");
Stream.WriteLine("\t\t<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\" />");
Stream.WriteLine("\t</head>");
Stream.WriteLine("<body>");
Stream.WriteLine("");
Stream.WriteLine(txtBox_mail.Text);
Stream.WriteLine("");
Stream.WriteLine("</body>");
Stream.WriteLine("</html>");
Stream.Close();

frm_preview preview = new frm_preview();
preview.ShowDialog();

Og her er min previewform:

if (File.Exists(@"c:\temp\temp.html"))
{
  webBrowser1.Navigate(@"c:\temp\temp.html");
}
else
{
  MessageBox.Show("c:\\temp\\temp.html findes ikke");
}

// mcardle
Avatar billede kalp Novice
19. marts 2008 - 16:34 #1
måske skal du bare skrive
webBrowser1.DocumentText = File.ReadAllText("c:\temp\temp.html");
Avatar billede kalp Novice
26. marts 2008 - 10:09 #2
?
Avatar billede mcardle Nybegynder
26. marts 2008 - 10:49 #3
Det må du undskylde... Jeg har sat den ind, men har ikke fået skrevet tilbage. Skriver lige når jeg kommer hjem.

//mcardle
Avatar billede mcardle Nybegynder
27. marts 2008 - 14:31 #4
Hey Kalp.

Det virkede desværre ikke. Den laver bare et tomt dokument.

//mcardle
Avatar billede kalp Novice
27. marts 2008 - 18:51 #5
prøv

webBrowser1.Navigate(@"file:\\c:\temp\temp.html");

måske skal \ vendes til /

men i øvrigt så bør du godt kunne navigere til filen som du selv har gjort hvis den findes.
Avatar billede mcardle Nybegynder
27. marts 2008 - 19:43 #6
Der er ingen af de ting du har skrevet der virker og jeg har jo tjekket om filen findes og om filen er lavet rigtig. Kan det have noget at gøre med den DOCTYPE jeg har sat ind.

Jeg bruger:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

//mcardle
Avatar billede kalp Novice
27. marts 2008 - 21:43 #7
nope det har det ikke.
Nu har jeg testet og det virker helt fint for mig.
prøv at lave en simpel html side som du placere i en anden mappe og se om du kan få den frem.

hvis det virker så tjek lige kildekoden på den html side der ikke virker om den er kommet ud forkert via. den streamwriter
Avatar billede mcardle Nybegynder
08. april 2008 - 14:37 #8
Jeg ved altså ikke hvorfor det ikke virker hos mig. Jeg arbejder videre med det. Læg et svar, så får du nogle points.

//mcardle
Avatar billede mcardle Nybegynder
30. april 2008 - 15:17 #9
Lukker
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