2012-07-19 14 views
5

Tengo un número de páginas HTML locales. Quiero mostrar estas páginas HTML locales en el control del navegador web. Cuando agrego una página nueva, debe agregarla a la página anterior.Cómo cargar páginas HTML locales en el control WebBrowser en C#

Aquí es el código de ejemplo para la configuración Url

for(int i=0; i<=filecount; i++) 
    web-browser.Url = new Uri(filepath[i]); 

Sin embargo, durante su tiempo de ejecución que muestra la descarga de archivos pop-up y el navegador está vacía.

+0

¿Qué hay en su variable filepath [i]? Si se trata de archivos locales, añada "archivo: //" delante de ellos. Además, ¿no debería usar la función de navegador web.Navegar ()? –

Respuesta

0
webrowser.Navigate(filepath[i]); 

algo así como que recuerdo ...;)

18

Se puede cargar una sola página como

FileStream source = new FileStream(filepath, FileMode.Open, FileAccess.Read); 
webBrowser1.DocumentStream = source; 

o incluso como

string html = File.ReadAllText(filepath); 
webBrowser1.DocumentText = html; 

Pero si usted tiene imágenes , css o js en las rutas relativas, use

Uri uri = new Uri(filepath); 
webBrowser1.Navigate(uri); 
+1

Gracias Mobel. Está funcionando ahora. Pero no puede mostrar las imágenes. – Mayuresh

+0

Si desea cargar un html con imágenes relacionadas, use el método Navigate como var uri = new Uri (filepath); webBrowser1.Navigate (uri); –

+1

Si está buscando algo así como esos archivos html como parte de su solución en lugar de alguna carpeta, puede html y archivos relacionados a su proyecto como contenido y en propiedades cambiar a "copiar al directorio de salida": opción de copiar siempre . y cárgalo como una cadena curDir = Directory.GetCurrentDirectory(); var url = new Uri (String.Format ("file: /// {0}/{1}", curDir, "test.html")); webBrowser1.Navigate (url); –

Cuestiones relacionadas