2011-08-02 8 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(); 
    } 
} 
私は、次のURLのそれぞれで上記のアクションを呼び出すことができるようにしたいと思い

〜/エラー/
〜/エラー/ジェネリック
〜/エラー/ NOTFOUND
私はGlobal.asaxのファイルに私のようなものを使用してこれらのルートを登録する必要があるだろうと信じています

以下:

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

このために正しいルートハンドラを追加/指定するにはどうすればよいですか?

答えて

2

私はGlobal.asaxの中で提供されるデフォルトのURLは、URLのために働くだろうと信じていますが、特定のURLをしたい場合は、その後のために行く:

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

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

、あなたはパラメータをしたい場合