asp.net MVC 找不到Action 時的處理方法

如果ActionInvoker 找不到對應的Action,默認會運行System.Web.Mvc.Controller 類別的HandleUnknownAction 方法,在System.web.Mvc.Controller 類別裏HandleUnknownAction 方法默認會響應404找不到資源的錯誤消息,

   

這裏只需要重寫一個HandleUnKonwAction 方法就可以了,方法如下


protected virtual void HandleUnKonwAction(string actionname) 
    {
        throw new HttpException(404, "Message");
    }


   在ASP.NET MVC 項目中,所有的Countroller默認都是幾寸自System.web.Mvc.Countroller 類別,由於在System.Web.MVC.Countroller 類別中的 HandleUnKonwAction 方法被標註爲“virtual”,代表方法可以被替換(Overrride),因此,可以在項目的Controller 中替換HandleUnknownAction方法,既可以自定義當mvcHandle 找不到Action時處理方法,不過需要注意一些陷阱,如果是直接參考MSDN 上的演示程序的話,會有一些潛在 風險,例如,HandleUnKonwAction 不會區分動作Action 方法的httpget http post

轉自:咖啡之念 http://www.aicoffees.com/itshare/412011138.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章