Tôi có một ứng dụng web MVC 2 sắp được phát hành. Cho đến bây giờ tôi đã bị lỗi tùy chỉnh nhưng tôi muốn họ làm việc khi tôi đi sản xuất đã sẵn sàng.HandleErrorInfo sử dụng MVC2 - Mô hình là null?
Tôi đã thiết lập web.config của tôi như sau:
<customErrors mode="On" defaultRedirect="/Error/">
<error statusCode="404" redirect="/Error/NotFound "/>
</customErrors>
Các 404 một hoạt động hoàn hảo, và notfound là một hành động mà bản đồ trực tiếp đến một Xem mà chỉ thấy một khá trang 404 chuẩn sử dụng của tôi tệp Site.Master riêng.
Đối với bất kỳ thứ gì ngoài 404, tôi muốn người dùng có thể xem chi tiết ngoại lệ. (Đây là một ứng dụng nội bộ, và không có rủi ro bảo mật khi làm như vậy).
Error
hành động mặc định Index
được đặt để trả về Chế độ xem() mà tôi đã xác định. Những gì tôi không thể tìm ra là làm thế nào để vượt qua các thông tin ngoại lệ vào View?
này trông đầy hứa hẹn:
http://devstuffs.wordpress.com/2010/12/12/how-to-use-customerrors-in-asp-net-mvc-2/
Nhưng khi tôi sử dụng Xem với:
<%@ Page Title="" Language="C#"
MasterPageFile="~/Views/Shared/Bootstrap.Master"
Inherits="System.Web.Mvc.ViewPage<System.Web.Mvc.HandleErrorInfo>" %>
Các trang báo lỗi riêng của mình ném một lỗi, như HandleErrorInfo là null. Rõ ràng là một lỗi trong lỗi tùy chỉnh khiến cho MVC2 trở thành một loạt các vấn đề, và kết quả là một màn hình màu vàng của cái chết.
Tôi đoán hoặc là tôi đã bỏ lỡ khóa nào đó trong blog, hoặc không giải thích cách lấy HandleErrorInfo thành bất kỳ thứ gì khác ngoài null mà không thiết lập thuộc tính Lỗi cho mỗi bộ điều khiển/Hành động của tôi.
Ngoài ra, tôi biết rằng MVC3 đề với điều này tốt hơn, và tôi biết Razor là rất tốt. Nó chưa được sử dụng cho dự án này và dự án này sẽ không được thay đổi để sử dụng nó. Vì vậy, xin vui lòng không có "Sử dụng MVC3" câu trả lời.