Tôi đang cố định tuyến .aspx (trang webform) trong dự án asp.net mvc của tôi. Tôi đăng ký trang trong global.asax:Sau khi thêm MapPageRoute vào dự án asp.net mvc, trang web dừng lại để vào Bộ điều khiển Trang chủ
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapPageRoute("Tickets", "Reports/Tickets", "~/WebForms/Reports/Tickets.aspx");
routes.MapRoute("Default", "{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = UrlParameter.Optional });
Vấn đề là, sau khi tôi thêm dòng thứ hai, trang web dừng nhập vào điều khiển Trang chủ của tôi (Index Action) và được chuyển hướng đến: http://localhost:37538/Reports/Tickets?action=Index&controller=Login%22
luôn rằng tôi chạy dự án.
Chi tiết dự án:
- Asp.Net MVC 3
- hình thức xác thực
- Net 4,0
Obs: để tái tạo lỗi này, tạo một dự án MVC asp.net mới dưới dạng ứng dụng internet, sau khi tạo trang web Tickets
biểu mẫu web bên trong thư mục /WebForms/Reports
và đăng ký tuyến đường mới. Chạy dự án (có thể bạn đã đăng nhập), vì vậy bây giờ đăng xuất và bạn sẽ được chuyển hướng đến http://localhost:35874/Reports/Tickets?action=LogOff&controller=Account
, vậy tại sao?
Cảm ơn bạn! Điều này giải quyết vấn đề của tôi, nơi tôi không thể đăng nhập vào các trang của tôi nữa sau khi thêm MapPageRoute. Nút gửi trên trang Đăng nhập thực sự đã đăng các giá trị lên tuyến đường trang đầu tiên. Bạn có bất kỳ nguồn nào mô tả hành vi này và lý do đằng sau nó? –
Đây là một số liên kết giúp tôi tiếp cận giải pháp: http://dotnet.dzone.com/news/custom-route-constraint-aspnet, http://blogs.imeta.co.uk/MBest/archive/2010/ 01/06.aspx và http://www.eworldui.net/blog/post/2008/04/ASPNET-MVC---Legacy-Url-Routing.aspx –
Nhưng đặc biệt về bạn muốn, tôi không có. –