asp.net mvc3中如果配置檔案出錯了,怎麼跳轉到自定義的錯誤頁,現在參考網上的檔案是說
新增 如下配置檔案,並且在路徑views/shared/下新增error頁面,測試下沒有用的,請大家看看有什麼好的建議啊,謝謝了啊!
mvc根本不會理睬web.config中的customerrors,預設是由handleerrorattribute處理的,顯示的是/views/shared/error.cshtml中內容。
mvc中,可以用過濾器來實現異常處理
1.在global.asax檔案,
//1.在global.asax檔案中public static void registerglobalfilters(globalfiltercollection filters)
/// /// 2.自己定義的過濾器 處理異常跳轉錯誤頁
/// 捕獲異常 跳轉到錯誤頁
///
public class exceptionfilterattribute : handleerrorattribute
}
當asp.net mvc程式出現了異常,怎麼處理更加規範?
1. 最簡單的方法是設定節點
節點用於定義一些自定義錯誤資訊的資訊。此節點有mode和defaultredirect兩個屬性,其中defaultredirect屬性是乙個可選屬性,表示應用程式發生錯誤時重定向到的預設url,如果沒有指定該屬性則顯示一般性錯誤。mode屬性是乙個必選屬性,它有三個可能值,它們所代表的意義分別如下:
on 表示在本地和遠端使用者都會看到自定義錯誤資訊。
off 禁用自定義錯誤資訊,本地和遠端使用者都會看到詳細的錯誤資訊。
remoteonly 表示本地使用者將看到詳細錯誤資訊,而遠端使用者將會看到自定義錯誤資訊。
這裡有必要說明一下本地使用者和遠端使用者的概念。當我們訪問asp.net應用程時所使用的機器和發布asp.net應用程式所使用的機器為同一臺機器時成為本地使用者,反之則稱之為遠端使用者。在開發除錯階段為了便於查詢錯誤mode屬性建議設定為off,而在部署階段應將mode屬性設定為on或者remoteonly,以避免這些詳細的錯誤資訊暴露了程式**細節從而引來黑客的入侵。
子節點在節點下還包含有子節點,這個節點主要是根據伺服器的http錯誤狀態**而重定向到我們自定義的錯誤頁面,注意要使子節點下的配置生效,必須將節點節點的mode屬性設定為「on」。下面是乙個例子:
"on" defaultredirect="
genericerrorpage.htm
">
"403" redirect="
403.htm
" />
"404" redirect="
404.htm
" />
"500" redirect="
500.htm
"/>
在上面的配置中如果使用者訪問的頁面不存在就會跳轉到404.htm頁面,如果使用者沒有許可權訪問請求的頁面則會跳轉到403.htm頁面,403.htm和404.htm頁面都是我們自己新增的頁面,我們可以在頁面中給出友好的錯誤提示。
2. 使用過濾器handleerrorattribute
3. 自定義顯示路徑
如果遇到異常後不單單是要自定義異常顯示,而且還需要進行日誌記錄。此時,可以通過繼承擴充套件handleerrorattribute來實現新的filter,然後在lobal.ascx中對所有的action進行註冊,filters.add(new myhandleerrorattribute()).在這裡詳細說明一下另一種方式。我們可以寫乙個專門的controller和action來進行異常發生時的路由設定.
publicclass
utilitycontroller : controller
public
actionresult pagenotfound()
}
protectedsender, eventargs e)
if(shouldhandleexception)
} }
MVC自定義錯誤頁404靜態頁
昨天公司要求給所有專案新增自定義404錯誤頁,具體的要求實現的有以下幾點 1.實現自定義錯誤 如各種error,404等 跳轉到指定的頁面 2.所指定的頁面輸出的http狀態值必須是404或其他指定的statecode 3.跳轉到的自定義錯誤頁面必須是.html字尾結尾 關於第一點,這個很簡單,大家...
精通MVC3摘譯 3 自定義路由系統
路由系統非常靈活,但是如果這還不能滿足你的 需求,那麼,你可以定製路由系統。建立基於routebase的介面 getroutedata httpcontextbase httpcontext 這是乙個url匹配工作機制。framework依次在每個routetable.routes呼叫這個方法。直到...
MVC 自定義異常錯誤頁需要注意的地方
asp.net mvc3中如果配置檔案出錯了,怎麼跳轉到自定義的錯誤頁,現在參考網上的檔案是說 新增 如下配置檔案,並且在路徑views shared 下新增error頁面,測試下沒有用的,請大家看看有什麼好的建議啊,謝謝了啊!mvc根本不會理睬web.config中的customerrors,預設...