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