Tôi có hai tuyến đường trong khu vực của tôi, một trong những tùy chỉnh và một tuyến đường dự phòng mặc định, xem dưới đâytuyến Register đăng ký khu vực
var dashboardRoute = new DashboardRoute(
ObjectFactory.GetInstance<PathResolver>(),
ObjectFactory.GetInstance<VirtualPathResolver>(),
null);
context.Routes.Add(dashboardRoute);
context.Routes.MapRoute(
"Dashboard_Default", // Route name
"dashboard/{controller}/{action}/{id}", // URL with parameters
new { controller = "pages", action = "index", id = UrlParameter.Optional, area = "Dashboard" } // Parameter defaults
);
khi tôi thêm cả tuyến đường sử dụng context.Routes.Add/MapRoute con đường cuối cùng là không làm việc, nhưng khi tôi sử dụng context.MapRoute trên tuyến đường cuối cùng nó hoạt động nhưng GetVirtualPath trong tuyến đường tùy chỉnh của tôi không được sử dụng cho các liên kết hành động. Tôi nghĩ rằng MapRoute chỉ là một phần mở rộng cho context.Routes.Add? Cách tốt nhất để gỡ lỗi các tuyến đường là gì? Tôi đã sử dụng Phil Haacks gỡ lỗi tuyến đường nhưng nó không hoạt động với tuyến đường tùy chỉnh của tôi, có cách nào khác để gỡ lỗi tuyến đường không?
Tôi thực sự cần trợ giúp ở đây. đăng ký tuyến đường của tôi trong khu vực bảng điều khiển của tôi trông như thế này -
var dashboardRoute = new PagesRoute(
ObjectFactory.GetInstance<PathResolver>(),
ObjectFactory.GetInstance<VirtualPathResolver>(),
null);
context.Routes.Add("Dashboard", dashboardRoute);
context.MapRoute(
"Dashboard_default",
"dashboard/{controller}/{action}/{id}",
new { controller = "dashboard", action = "index", id = UrlParameter.Optional }
);
Các PageRoute là một lộ trình tùy chỉnh và bạn có thể tìm mã ở đây http://bit.ly/er6HPn Với các tuyến đường này hoạt động liên kết như thế này làm việc Html.ActionLink lớn ("Quản lý Vai trò "," người quản lý "," tài khoản ") nhưng khi tôi có liên kết nên hoạt động với tuyến đường tùy chỉnh của tôi như Html.ActionLink này (page.MetaData.Name," edit "," pages ", new {document = page} , null) kết quả là http://stormbreaker.local/dashboard/pages/edit?document=Stormbreaker.Example.Models.Page, điều này có nghĩa là GetVirtualPath trong PageRoute của tôi không bao giờ được sử dụng. Bất cứ ai có thể giải thích cho tôi cách và làm thế nào tôi có thể sửa lỗi này?
này chỉ giải quyết một vấn đề tôi đã có - cảm ơn! – RPM1984