5

Trong thẻ customErrors trong web.config của tôi, tôi đang trỏ đến một bộ điều khiển. Trong bộ điều khiển của tôi, tôi đang chuyển hướng đến một trang lỗi bên ngoài được chia sẻ bởi nhiều ứng dụng.Làm thế nào để có được ASP.NET MVC để tôn vinh cài đặt customErrors của tôi?

<customErrors defaultRedirect="~/Error/ServerError" mode="On">

điều khiển của tôi:

public class ErrorController : Controller 
{ 

    public ActionResult ServerError() 
    { 
     return Redirect("/Systems/ASPNETErrorHandling/ErrorPage.aspx"); 
    } 

    public ActionResult ErrorTest() 
    { 
     throw new Exception("testing error handling"); 
    } 
} 

Tôi gọi Lỗi/ErrorTest để kiểm tra việc xử lý lỗi. Nhưng nó luôn chuyển hướng đến Views/Shared/Error.cshtml thay vì chuyển hướng đến bộ điều khiển mà tôi đã chỉ định.

Làm cách nào để có được asp.net mvc để tôn trọng đường dẫn mặc địnhRedirect trong cài đặt tùy chỉnh của tôi?

UDPATE: Tôi cũng đang sử dụng ELMAH và ghi đè HandleErrorAttribute như được mô tả trong this post. Tôi thấy từ .Net Reflector rằng cơ sở HandleErrorAttribute được thiết lập Error là view. Tôi không nghĩ rằng có nhiều điều tôi có thể làm để chuyển hướng đến Error.cshtml hoặc một số chế độ xem khác.

Trả lời

2

Như tôi đã nói trong bản cập nhật cho câu hỏi của mình, tôi ghi đè HandleErrorAttribute như được mô tả trong this post để sử dụng ELMAH. Lớp cơ sở tự động đặt Lỗi làm chế độ xem. Vì vậy, tôi chỉ nhận xét ra base.OnException(context); và nó hoạt động. Tôi không biết đó có phải là giải pháp tốt nhất hay không, nhưng tôi nghĩ nó nên hoạt động cho mục đích của tôi.