1

我正在尝试在我的 .NET MVC 应用程序中配置一个 ErrorController,但我目前无法在控制器上执行任何操作,所以我相信这可能是因为我需要在global.asax中注册 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 调用上述操作。

~/Error/
~/Error/通用
~/Error/NotFound

我相信在Global.asax文件中,我需要使用以下内容注册这些路由:

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

我将如何为此添加/指定正确的路由处理程序?

4

1 回答 1

2

我相信 global.asax 中提供的默认网址适用于您的网址,但如果您想要一个特定的网址,请选择:

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
);
于 2011-08-02T16:09:32.393 回答