Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何捕获页面无法加载的消息?_C#_.net_Winforms_Webbrowser Control - Fatal编程技术网

C# 如何捕获页面无法加载的消息?

C# 如何捕获页面无法加载的消息?,c#,.net,winforms,webbrowser-control,C#,.net,Winforms,Webbrowser Control,嗨,我希望有人能帮忙, 基本上,我试图阻止Windows窗体应用程序中的嵌入式浏览器导航到“此程序无法显示网页”页面,而是显示我自己的错误页面 C#应用程序是嵌入在我的Windows窗体中的Web浏览器,其目的是允许用户单击提供的按钮,将浏览器导航到预定义的Web服务URL。如果该服务未在计算机上运行,则需要导航到我的自定义页面,而不是浏览器说它无法加载 我环顾四周,还没有找到解决方案,显然HttpStatusCodes是一种方法,但我不知道如何使用它们 代码段: private void cu

嗨,我希望有人能帮忙, 基本上,我试图阻止Windows窗体应用程序中的嵌入式浏览器导航到“此程序无法显示网页”页面,而是显示我自己的错误页面

C#应用程序是嵌入在我的Windows窗体中的Web浏览器,其目的是允许用户单击提供的按钮,将浏览器导航到预定义的Web服务URL。如果该服务未在计算机上运行,则需要导航到我的自定义页面,而不是浏览器说它无法加载

我环顾四周,还没有找到解决方案,显然HttpStatusCodes是一种方法,但我不知道如何使用它们

代码段:

private void currentMachineToolStripMenuItem_Click(object sender, EventArgs e)
{
   webBrowser1.Navigate("http://localhost:2021/wsservice/status");
}
如您所见,目前的程序非常简单。

取自此-

您需要使用HttpWebRequest和HttpWebResponse对象来执行此操作 这使用 创建(url)方法。然后使用GetResponse()方法获取 HttpWebResponse。HttpWebResponse将从返回状态代码 服务器。这将告诉您URL是否存在。404表示“第页 未找到。“200表示“成功”等

还有另一个可能对您有所帮助的链接-

取自此-

您需要使用HttpWebRequest和HttpWebResponse对象来执行此操作 这使用 创建(url)方法。然后使用GetResponse()方法获取 HttpWebResponse。HttpWebResponse将从返回状态代码 服务器。这将告诉您URL是否存在。404表示“第页 未找到。“200表示“成功”等

另一个可能对您有所帮助的链接-

您可以尝试以下内容:

Private void WebBrowser1_NavigateError(Object sender, EventArgs e)
{
    WebBrowser1.Navigate( App.Path + "\retry.htm");
}
您可以尝试以下方法:

Private void WebBrowser1_NavigateError(Object sender, EventArgs e)
{
    WebBrowser1.Navigate( App.Path + "\retry.htm");
}

您可以检查页面内容中是否有表示页面未正确加载的单词

if(webBrowser1.Document.InnerHtml.Contains("error"))

您可以检查页面内容中是否有表示页面未正确加载的单词

if(webBrowser1.Document.InnerHtml.Contains("error"))

您也可以检查返回的文档url,找到webBrowser用于显示错误页面的资源地址:

if (webBrowser1.Document.Url.ToString().Contains("res://ieframe.dll/dnserrordiagoff.htm") )
    ...

您也可以检查返回的文档url,找到webBrowser用于显示错误页面的资源地址:

if (webBrowser1.Document.Url.ToString().Contains("res://ieframe.dll/dnserrordiagoff.htm") )
    ...

谢谢,它工作得很好,vcskicks链接非常有用。谢谢,它工作得很好,vcskicks链接非常有用。