2011-08-02 176 views
1

我想在我的.NET MVC應用程序中配置一個ErrorController,並且我無法在控制器上打任何操作,所以我相信這可能是因爲我需要註冊URL路由在Global.asax的.NET MVC URL路由幫助

錯誤控制如下:

public class ErrorController: Controller 
{ 

    /*Default Redirect Error Page*/ 
    public ActionResult Index() 
    { 
     return View(); 
    } 
    /*Generic Error Page*/ 
    public ActionResult Generic() 
    { 
     return View(); 
    } 
    /*Status Code: 400*/ 
    public ActionResult NotFound() 
    { 
     return View(); 
    } 
} 

我希望能夠通過分別下列網址撥打上面的動作。

〜/錯誤/
〜/錯誤/通用
〜/錯誤/ NOTFOUND

我相信,在的Global.asax文件我需要註冊使用類似的這些路線以下內容:

routes.Add(new Route("error/{action}", new MvcRouteHandler())){controller = "Error", action = ""; 

如何爲此添加/指定正確的路由處理程序?

回答

2

我相信,在Global.asax中提供的默認網址會爲您的網址工作,但如果你想有一個特定的URL,然後去:

routes.MapRoute(
     "Error", // Route name 
     "error/{action}", // URL without parameters 
     new { controller = "Error", action = "Index" }, // Parameter defaults 
); 

,如果你想參數:

routes.MapRoute(
     "Error", // Route name 
     "error/{action}/{param}", // URL with parameters 
     new { controller = "Error", action = "Index", param = UrlParameter.Optional }, // Parameter defaults 
);