ASP.NET定製簡單的錯誤處理頁面

2020-12-16 站長之家
首頁

 > 

語言

 > 

關鍵詞

 > 

asp最新資訊

 > 

正文

ASP.NET定製簡單的錯誤處理頁面

通常Web應用程式在發布後,為了給用戶一個友好界面和使用體驗,都會在錯誤發生時跳轉至一個自定義的錯誤頁面,而不是ASP.net向用戶暴露出來的詳細的異常列表。

簡單的錯誤處理頁面可以通過web.config來設置

以下為引用的內容:
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
 <error statusCode="403" redirect="NoAccess.htm" />
 <error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>
 

如果想通過編程的方式來呈現錯誤原因,可以通過Page_Error事件來做這件事。

另一種方式則可以通過Global.asax來實現,我覺得這種方式較為方便,另外如果能結合一個單獨的更加友好的頁面,則看來起更舒服一些:

Global.asax(如果需要,可以記錄錯誤日誌)

以下為引用的內容:

void Application_Error(object sender, EventArgs e) 
{
 Exception objErr = Server.GetLastError().GetBaseException();
 string error = "發生異常頁: " + Request.Url.ToString() + "<br>";
 error += "異常信息: " + objErr.Message + "<br>";
 Server.ClearError();
 Application["error"] = error;
 Response.Redirect("~/ErrorPage/ErrorPage.aspx");
}
ErrorPage.aspx

protected void Page_Load(object sender, EventArgs e)
{
 ErrorMessageLabel.Text = Application["error"].ToString();
}

 

當最終用戶使用應用程式的時候,他們可能不想知道錯誤的原因,這個時候,我們可以通過複選框來實現,是否呈現錯誤的原因。可將Label放在一個div中,然後用複選框來決定是否呈現div

以下為引用的內容:

<script language="JavaScript" type="text/Javascript">
<!--
function CheckError_onclick() {
 var chk = document.getElementById("CheckError");
 var divError = document.getElementById("errorMsg");
 if(chk.checked)
 {
  divError.style.display = "inline";
 }
 else
 {
  divError.style.display = "none";
 }
}

// -->
</script>

我們可以對errorpage這頁做一些更親切的設計,讓人看起來更舒服些。

相關焦點

  • ASP錯誤處理
    簡單介紹ASP是非常簡單的,以至於許多的開發者不會去思考錯誤處理。錯誤處理能夠讓你的應用程式更加合理。我看到過很多個用ASP編寫的商業網站,大多數都忽略了錯誤處理。下面就是一個錯誤代碼: Microsoft OLE DB Provider for ODBC Drivers error 80004005 [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified /test.asp,
  • 如何實現Asp與Asp.Net共享Session
    之前大批系統應用到了asp,在升級過程中,如果完全拋棄asp來重寫,一來工作量太大,二來以前的成果不能保存下來。所以微軟提出了一個Session共享的解決方案,只是此文檔光說明原理,並沒有說具體的操作步驟,由此,我撰文描述過程。
  • ASP.Net安裝簡明手冊
    4、試運行安裝完成後,試著運行一個簡單的ASP.Net編寫的小程序,以便確定安裝是否成功。在你的IIS虛擬目錄內,新建一個擴展名為.aspx的文件,內容如下:     怎麼樣,可以運行了嗎?上面的文件就是ASP.Net的一個程序跟蹤的簡單示例。
  • 入門:初學ASP動態網頁製作常用錯誤處理
    ASP錯誤處理ASP是非常簡單的,以至於許多的開發者不會去思考錯誤處理。這樣的話,如果錯誤發生,頁面就會停止,頁面內容也會被清除,這樣用戶就不會看到錯誤信息,對你們的抱怨也就少了!On Error Resume Next %>  <%  '錯誤處理 If Err.Number <> 0 Then '清除頁面 Response.Clear '顯示錯誤信息給用戶  %>   <HTML>   <HEAD>   <TITLE&
  • asp.net core 使用 TestServer 來做集成測試
    asp.net core 使用 TestServer 來做集成測試Intro之前我的項目裡的集成測試是隨機一個埠,每次都真實的啟動一個 WebServer,之前也有看到過微軟文檔上 TestServer 的介紹,當時沒仔細看過以為差不多就沒用,一直是啟動了一個真正的
  • asp.net連接MySQL,在GridView上實現增刪改查:前臺配置參數實現
    asp.net中如果想要在GridView控制項上實現增刪改查,通過給GridView添加數據源就可以實現,前提是使用的資料庫必須是數據源中有的。正好最近做的asp.net項目就需要用在GridView中使用mysql連接,所以在網上找了很多教程,都比較零散,用的最多的就是在底層.cs文件中通過GridView的一些事件去做相應的處理,而且很麻煩,我花了好幾個小時終於找到了在前臺通過配置的方式實現增刪改查,下面是具體步驟。一、在頁面上添加一個GridView控制項和一個SqlDataSource控制項。
  • 目前中國網站服務端開發主要有PHP、asp.net、Java三種語言
    通過各招聘網站招聘程式設計師的類型統計得出結果是目前中國網站服務端開發主要有PHP、asp.net、Java三種語言,其他佔少數有潛力有C#,C++等,而Python也開始被開發者使用在服務端開發。從招聘的數據信息顯示,PHP編程開發主要集中在中小網站,個人站點,個人博客等開發,而政府網站更喜歡asp.net開發,Java則主要在電商,支付系統,安全數據的等方面有優勢。
  • NET開發-在ASP.NET WebForm應用程式中使用C#操作Label控制項的屬性
    aspx頁面代碼模式也可以在「設計」界面上拖放:aspx頁面設計模式1.2.屬性拖放好的Label控制項完整的源碼為:<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>1.2.1. ID屬性ID屬性是必須屬性,指定Label控制項的唯一ID值,最好修改以「lbl+有意義的單詞」為ID值,便於後臺代碼識別。
  • 自學MVC看這裡——全網最全ASP.NET MVC 教程匯總
    - Part.2ASP.NET MVC中使用View Model分離領域模型探秘ASP.NET MVC框架傳遞加載過程3.How: 如何使用Asp.net MVC 框架進行開發, Asp.net MVC 入門教程及實例開發七天學會ASP.NET MVC 5系列教程,該系列入門教程由淺至深,介紹了MVC5的使用,涉及了一些安全方面的功能(授權認證,角色管理,
  • ASP.NET學習篇(3)——幾個簡單的ASP.ENT的例子
    ASP.NET學習篇(3)——幾個簡單的ASP.ENT的例子 一個WEBFORM——這裡將介紹ASP.NET WEBFORM的基本概念,以及其中表單項的變化。
  • ASP.NET 全局異常處理
    在我們寫程序時偶爾會由於疏忽導致有些異常沒有進行處理。如果將異常詳細信息提示給用戶會帶來不安全因素,如果不提示詳細信息又會給用戶報告異常帶來麻煩。雖然可以通過配置customErrors mode來實現只有管理員可以查看錯誤,但發現問題的時間可能會比較長。
  • NET開發-ASP.NET WebForm應用程式中,使用C#操作TextBox的屬性
    ID屬性ID屬性是每個asp.net每個伺服器控制項必須具備的屬性,用來指定控制項的唯一ID值。TextBox控制項的ID值最好以「txt+有意義的單詞」組成,便於後臺C#代碼中識別並賦值和獲取值。1.2.2. Text屬性TextBox控制項的Text屬性用於給文本框賦值或取值,以及獲取用戶輸入的值。
  • 簡明 ASP.NET Core 手冊
    如果你閱讀的是 PDF、電子書,或者列印版,請查閱官網(littleasp.net/book)的版本更新。有關版本信息和更新內容,請查閱本書的最後一頁。已經被翻譯成其它語言:The Little ASP.NET Core Book (English -- original version)https://www.recaffeinate.co/book/ASP.NET Core El Kitabı (Turkish)https://sahinyanlik.gitbooks.io/kisa-asp-net-core-kitabi
  • ASP.NET控制項10個最有用的屬性詳解
    1、ClientIDMode  渲染ASP.NET控制項時會自動生成一個ID,當我們在客戶端腳本中引用它們時,卻會製造不少麻煩,雖然它是命名容器和ID的簡單串聯,但仍然無法預測生成的ID範圍。:ListView>  4、AutoEventWireup  AutoEventWireup是很少使用但知名度很高的一個ASP.NET屬性,簡單地說,它設置為True時,在未明確委派的情況下,允許你自動調用頁面事件,下面的代碼片段展示了AutoEventWireup屬性的用法
  • ASP學習:錯誤80004005信息處理方法
    正在閱讀:ASP學習:錯誤80004005信息處理方法ASP學習:錯誤80004005信息處理方法2004-02-14 09:33出處:PConline作者:xeimm/CSDN>  1.錯誤信息(錯誤信息我不用翻譯成中文了把,呵呵,大家諒解)  Microsoft OLE DB Provider for ODBC Drivers error '80004005'  [Microsoft][ODBC
  • ASP.NET中使用IFRAME建立類Modal窗口
    我發現可以嘗試在初始頁面中嵌入一個IFRAME,然後用IFRAME來顯示一個頁面,並將IFRAME設定為按絕對位置擺放,Z-Index設置為最高的9999,這樣就可以將這個頁面覆蓋在初始界面上,當需要顯示模態窗口時,就顯示這個IFRAME,可以將IFRAME的尺寸擴大到能覆蓋住初始窗口,也可以蓋住關鍵項,目的就是不讓後面的窗口有什麼變化的可能。
  • NET開發-在ASP.NET WebForm應用程式中,使用C#操作單選按鈕
    如下是在aspx頁面上添加的RadioButtonList按鈕完整Html代碼:這裡在aspx頁面上拖放了RadioButtonList按鈕,源碼為:<asp:RadioButtonList ID="RadioButtonList1" runat="server"
  • Asp.net中的頁面亂碼的問題
    Response.AddHeader("Content-Disposition", "attachment; filename="+HttpUtility.UrlEncoding(filename.ToString ()));     3.如何識別字符串中是否包含韓文  https://search.csdn.net/Expert
  • 解決Asp程序的Server.CreateObject錯誤
    在Asp程序CreateObject的時候發生錯誤,大致內容為Server 對象 錯誤 'ASP 0178 : 80070005' ,這一般發生在較高版本的IIS或者Windows平臺上.如果你使用的是中文版,錯誤信息如下: 程序代碼: Server 對象 錯誤 'ASP 0178 : 80070005' Server.CreateObject 訪問錯誤 ../config/coon.asp,行 5檢查權限時,對 Server.CreateObject 的調用失敗。拒絕對此對象的訪問。
  • 404 not found是怎麼回事 404頁面處理方法【解決方法】
    伺服器上本該有的頁面已經被刪除了,這種情況多發於BBS論壇,N年前的帖子如今被你通過搜尋引擎搜索出來了,但實際上BBS論壇為了保障伺服器的資源合理運用,都會將過期或非常久遠的信息頁面刪除,導致404 not found。 下面,我們就來看看404頁面處理方法。