在ASP.NET MVC C#中,可以通过配置RouteConfig类来将请求发送到错误页面。以下是一个代码示例,演示如何将错误请求发送到特定的错误页面。
在Global.asax.cs文件中,注册全局错误处理程序:
protected void Application_Start()
{
// 注册全局错误处理程序
GlobalFilters.Filters.Add(new HandleErrorAttribute());
// 其他配置代码...
}
在RouteConfig.cs文件中,配置错误路由:
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
// 其他路由配置...
// 配置错误路由
routes.MapRoute(
name: "Error",
url: "Error/{action}/{id}",
defaults: new { controller = "Error", action = "Index", id = UrlParameter.Optional }
);
}
}
创建一个名为ErrorController的控制器,处理错误请求:
public class ErrorController : Controller
{
public ActionResult Index()
{
// 处理错误请求的逻辑
return View();
}
public ActionResult NotFound()
{
// 处理404错误的逻辑
return View();
}
}
创建对应的错误视图文件Index.cshtml和NotFound.cshtml。
当发生错误时,MVC框架将自动将请求路由到Error控制器的对应动作方法,并显示相应的错误视图。
注意:如果要自定义错误处理逻辑,可以在Global.asax.cs文件中的Application_Error方法中处理错误。例如,可以重定向到自定义错误页面:
protected void Application_Error(object sender, EventArgs e)
{
Exception exception = Server.GetLastError();
Server.ClearError();
Response.Redirect("/Error/Index");
}
这样,当发生错误时,将自动重定向到Error控制器的Index动作方法,并显示错误视图。
希望以上示例能帮助到您!