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」。下面是乙個例子:
[html]view plain
copy
<
customerrors
mode
="on"
defaultredirect
="genericerrorpage.htm"
>
<
error
statuscode
="403"
redirect
="403.htm"
/>
<
error
statuscode
="404"
redirect
="404.htm"
/>
customerrors
>
在上面的配置中如果使用者訪問的頁面不存在就會跳轉到404.htm頁面,如果使用者沒有許可權訪問請求的頁面則會跳轉到403.htm頁面,403.htm和404.htm頁面都是我們自己新增的頁面,我們可以在頁面中給出友好的錯誤提示。
2. 使用過濾器handleerrorattribute
3. 自定義顯示路徑
如果遇到異常後不單單是要自定義異常顯示,而且還需要進行日誌記錄。此時,可以通過繼承擴充套件handleerrorattribute來實現新的filter,然後在lobal.ascx中對所有的action進行註冊,filters.add(new myhandleerrorattribute()).在這裡詳細說明一下另一種方式。我們可以寫乙個專門的controller和action來進行異常發生時的路由設定.
[csharp]view plain
copy
public
class
utilitycontroller : controller
public
actionresult pagenotfound()
} [csharp]view plain
copy
protected
void
object
sender, eventargs e)
if(shouldhandleexception)
}
MVC自定義錯誤頁404靜態頁
昨天公司要求給所有專案新增自定義404錯誤頁,具體的要求實現的有以下幾點 1.實現自定義錯誤 如各種error,404等 跳轉到指定的頁面 2.所指定的頁面輸出的http狀態值必須是404或其他指定的statecode 3.跳轉到的自定義錯誤頁面必須是.html字尾結尾 關於第一點,這個很簡單,大家...
自定義 LayoutManger需要注意的幾個地方
最近寫銷控表,需要有上萬個資料 的情況,首先感謝 的帖主,給了大家乙個非常好的例子。本文也是根據他的帖子的原理,整理了自己在編寫銷控表的時候遇到的問題。很多demo 在onlayoutchildren 方法中 進行兩個動作,乙個是計算得到真實的最大寬高,乙個是進行layout的動作,我的觀點,一旦外...
MVC3 自定義的錯誤頁
asp.net mvc3中如果配置檔案出錯了,怎麼跳轉到自定義的錯誤頁,現在參考網上的檔案是說 新增 如下配置檔案,並且在路徑views shared 下新增error頁面,測試下沒有用的,請大家看看有什麼好的建議啊,謝謝了啊!mvc根本不會理睬web.config中的customerrors,預設...