我編寫了一個應用程序,該應用程序通過webbrowser表單加載頁面。通過webbrowser_DocumentCompleted函數中的webbrowser.navigate完成加載頁面。這工作得很好。但是,如果應用程序沒有網絡,則顯示「此頁面無法顯示」 - 頁面。是否可以顯示自定義頁面,如果是 - 如何?感謝您的幫助。將「無法顯示此頁面」更改爲自定義頁面
回答
您可以在應用程序的開始時執行網絡檢查,如果失敗,您可以將其重定向到錯誤頁面?
反過來在你的app.config你可以使用下面的代碼:
<system.web>
<customErrors>
<error statusCode="404" redirect="error.htm"/>
</customErrors>
,只要您的應用程序接收HTTP錯誤代碼404,將重定向到error.htm頁
該頁面是由您的瀏覽器給出的,並且不是的應用程序,所以不,您無法更改它。
然而,你可以做的是讀取網頁瀏覽器返回的HTML,檢查它沒有這樣說,並採取相應的行動。
例子:
//document completed function declaration
{
if (yourWebBrowser.Document.InnerHtml.Contains("This page cannot be displayed")
{
//Do Something
}
}
呦可以創建自定義錯誤頁,並顯示它從你的web.config
多個錯誤狀態。
定義錯誤頁:
當未處理的異常在ASP.NET應用程序會顯示三種類型的錯誤頁面的一個出現了:
- 異常的詳細信息黃色死亡的錯誤頁面的屏幕,
的運行時錯誤死亡的錯誤頁面的黃屏,或
自定義錯誤p年齡
默認情況下,所有類型的錯誤都會導致顯示相同的自定義錯誤頁面。但是,您可以使用<customErrors>
部分中的<error>
子元素爲特定的HTTP status code
指定不同的自定義錯誤頁面。例如,在未找到頁面錯誤,其中有404
的HTTP
狀態代碼的情況下顯示不同的錯誤頁面,更新<customErrors>
部分包括以下標記:
<customErrors mode="RemoteOnly" defaultRedirect="~/ErrorPages/Oops.aspx">
<error statusCode="404" redirect="~/ErrorPages/404.aspx" />
</customErrors>
一種方式做它是處理您的WebBrowser的Navigated方法,然後嘗試訪問WebBrowser對象的Document對象的Domain屬性。如果它無法訪問域(如服務器關閉或不存在),則會引發錯誤。然後,您只需要捕獲錯誤並將您自己的HTML直接寫入WebBrowser的Document對象,如下所示:
Private Sub WebBrowser1_Navigated(sender As Object, e As System.Windows.Forms.WebBrowserNavigatedEventArgs) Handles WebBrowser1.Navigated
Dim doc As HtmlDocument = WebBrowser1.Document
Try
Dim s As String = doc.Domain
Catch ex As Exception
WebBrowser1.Document.Write("<html><body><br/><h1>The site you are trying to reach is offline or hasn't been set up yet. Please contact your system administrator.</h1></body></html>")
End Try
End Sub
歡迎來到SO,在回答時,儘量避免發佈一段代碼。相反,花幾分鐘時間來解釋代碼以及它的工作原理。請參閱[社區準則](https://stackoverflow.com/help/how-to-answer)以獲得很好的答案。 – LightBender
- 1. 將404重定向頁面從默認頁面更改爲自定義頁面。
- 2. 如何將主頁更改爲Orchard中的自定義頁面
- 3. 將主頁更改爲DotNetNuke中的自定義頁面
- 4. 此頁面無法在IIS中顯示
- 5. Asciidoctor此頁面無法顯示錯誤
- 6. xampp - 此頁面無法顯示
- 7. 無法爲B2C登錄頁面添加自定義頁面
- 8. 此頁面顯示?
- 9. 無法在春季自定義登錄頁面上顯示頁面
- 10. 如何將數據庫錯誤頁面更改爲自定義錯誤頁面?
- 11. 主塔 - 將常規404 Not Found頁面更改爲自定義頁面
- 12. 更改頁面顯示
- 13. 更改自定義404錯誤頁面
- 14. 顯示自定義頁面內容
- 15. 自定義錯誤頁面不顯示
- 16. 自定義ActiveAdmin中的顯示頁面
- 17. 顯示自定義元框在頁面
- 18. 如何顯示自定義頁面
- 19. CMS和顯示自定義404頁面
- 20. 自定義404頁面不顯示
- 21. WordPress自定義類別頁面顯示空白頁面
- 22. 自定義記錄詳細信息頁面(顯示頁面?)
- 23. 無法在OWIN上顯示Nancy的自定義錯誤頁面
- 24. 我無法更改頁面
- 25. 自定義分頁算法來計算頁面顯示
- 26. 頁面無法在自動刷新的頁面上顯示
- 27. 顯示自定義帖子類型存檔頁面爲主頁
- 28. 頁面無法顯示
- 29. 在Drupal 7中將自定義模塊顯示爲XML頁面
- 30. 使用JavaScript我將如何更改此顯示頁面加載?
示例中提供的代碼不起作用。 – tedder84
InnerHtml未知。 – tedder84
@ tedder84這就是我所說的「示例」,它沒有經過測試 –