2013-11-08 3 views
0

Я использую C# Управление веб-браузером. Я использую следующий код для навигации.Управление веб-браузером дает страницу не может быть отображена ошибка

string FilePath = @"C:\Abc.mht"; 

webBrowser.Navigated += new WebBrowserNavigatedEventHandler(webBrowser_Navigated); 
WebBrowser.Navigate(FilePath); 

void webBrowser_Navigated(object sender, WebBrowserNavigatedEventArgs e) 
    { 

     try 
     { 
      webBrowser.Refresh(); 

      webBrowser.Navigated -= new 
      WebBrowserNavigatedEventHandler(webBrowser_Navigated); 
     } 
     catch(Exception Ex) 
     { 

     } 
    } 

Когда я перейти к URL-адресу «C: \ Abc.mht» в первый раз, то это дает страница не может быть отображена ошибка. Но теперь, если я перейду к другому URL-адресу, а затем снова перейдите к «C: \ Abc.mht», тогда он будет правильно перемещаться.

Мой вопрос: почему элемент управления webBrowser показывает ошибку «Страница не отображается» при первом обращении к URL «C: \ Abc.mht».

Я также попытался обновить элемент управления веб-браузером, но при этом он отображает сообщение «страница не может быть отображена». Может ли кто-нибудь рассказать мне, как решить эту проблему?

+4

Aaaargh. Пустое предложение 'catch'. –

+0

Элемент управления 'WebBrowser' имеет набор _particular behaviors_. Я недавно столкнулся с некоторыми. Все, что я могу сказать, это то, что вы должны попробовать разные методы загрузки. Попробуйте загрузить страницу с помощью [FileStream'] (http://stackoverflow.com/questions/11560639/how-to-load-local-html-pages-in-webbrowser-control-in-c-sharp) или [установка свойства 'URL'] (http://stackoverflow.com/questions/7194851/load-local-html-file-in-ac-sharp-webbrowser). –

+0

Также рассмотрим относительно [аналогичную проблему] (http://stackoverflow.com/questions/4705139/how-to-load-mht-from-stream-string-into-a-webbrowser-control), связанный с 'mht'. Если это не поможет, попробуйте использовать простой файл 'HTML', чтобы узнать, является ли источником проблемы страница или элемент управления. –

ответ

0

Я попробовал ваш код работает отлично, так что вы должны изменить следующим образом:

string FilePath = @"D:\Abc.mht"; 
    public Form1() 
    { 
     InitializeComponent(); 
     webBrowser.Navigated += new WebBrowserNavigatedEventHandler(webBrowser_Navigated); 
     webBrowser.Navigate(FilePath); 
    } 
    void webBrowser_Navigated(object sender, WebBrowserNavigatedEventArgs e) 
    { 
     try 
     { 
      //webBrowser.Refresh(); 
      webBrowser.Navigated -= new WebBrowserNavigatedEventHandler(webBrowser_Navigated); 
     } 
     catch (Exception Ex) 
     { 

     } 
    } 
+0

Привет, Vaibhav, я уже пробовал комментировать WebBrowser.Refresh() из события webBrowser_Navigated. Это не работает. –

+0

Но он работает на моей стороне, файл Abc.mht загружен завершенным, вы можете отправить мне свой код на [email protected], чтобы я мог его полностью решить. –

Смежные вопросы