嗨,我希望有人可以提供帮助, 在基本术语中,我试图在我的Windows窗体应用程序中停止嵌入式浏览器,导航到“此程序无法显示网页”页面,而是显示我自己的错误页面。
C#应用程序是嵌入在我的Windows窗体中的Web浏览器,其目的是允许用户单击提供的按钮,将浏览器导航到预定义的WebService URL。如果服务没有在计算机上运行,那么而不是浏览器说它无法加载我需要导航到我的自定义页面。
我环顾四周,但现在找不到解决方案显然没有运气HttpStatusCodes是一种方法,但我不知道如何使用它们。
代码段:
private void currentMachineToolStripMenuItem_Click(object sender, EventArgs e)
{
webBrowser1.Navigate("http://localhost:2021/wsservice/status");
}
如您所见,目前非常简单的程序。
答案 0 :(得分:3)
你可以试试这个:
Private void WebBrowser1_NavigateError(Object sender, EventArgs e)
{
WebBrowser1.Navigate( App.Path + "\retry.htm");
}
答案 1 :(得分:2)
取自link -
您需要使用HttpWebRequest和HttpWebResponse对象来完成 这个。使用所需的URL创建带有所需URL的HttpWebRequest WebRequest.Create(url)方法。然后使用GetResponse()方法获取 HttpWebResponse。 HttpWebResponse将返回从中返回的状态代码 服务器。这将告诉您URL是否存在。 404表示“Page 没找到。“200表示”成功。“等等。
http://msdn.microsoft.com/en-us/library/8y7x3zz2(vs.71).aspx
另一个可能对您有帮助的链接 - http://www.vcskicks.com/check-website.php
答案 2 :(得分:0)
您可以检查页面内容以查找表明页面未正确加载的单词
if(webBrowser1.Document.InnerHtml.Contains("error"))
答案 3 :(得分:0)
您也可以检查返回的文档网址,找到webBrowser用来显示错误页面的资源地址:
if (webBrowser1.Document.Url.ToString().Contains("res://ieframe.dll/dnserrordiagoff.htm") )
...