Tôi đang gặp lỗi sau với dự án ASP.NET MVC 3 của mình:
Nhiều loại đã được tìm thấy phù hợp với bộ điều khiển có tên 'Nhà'. Điều này có thể xảy ra nếu tuyến cung cấp yêu cầu này ('Home / {action} / {id}') không chỉ định không gian tên để tìm kiếm bộ điều khiển phù hợp với yêu cầu. Nếu đúng như vậy, hãy đăng ký tuyến đường này bằng cách gọi quá tải phương thức 'MapRoute' có tham số 'không gian tên'.
Yêu cầu cho 'Trang chủ' đã tìm thấy các bộ điều khiển phù hợp sau: MyCompany.MyProject.WebMvc.Controllers.HomeController MyCompany.MyProject.WebMvc.Areas.Company.Controllers.HomeController
Tôi có một HomeController trong thư mục bộ điều khiển mặc định của mình, với tên lớp là MyCompany.MyProject.WebMvc.Controllers.HomeController.
Phương thức RegisterRoutes của tôi, trong global.asax, trông giống như:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
}
Sau đó, tôi có một khu vực được gọi là Công ty, với một HomeController trong thư mục bộ điều khiển mặc định cho khu vực, với tên lớp là MyCompany.MyProject.WebMvc.Areas.Company.Controllers.HomeController.
Phương thức RegisterArea trong tệp CompanyAreaRegistration trông giống như sau:
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Company_default",
"Company/{controller}/{action}/{id}",
new { area = "Company", action = "Index", id = UrlParameter.Optional }
);
}
Đây là tất cả dẫn đến lỗi mà tôi đã đánh dấu ở đầu bài đăng này. Tôi đang đấu tranh để cố gắng tổng hợp một giải pháp từ nhiều bài đăng khác, mà KHÔNG MAY MẮN .
Có thể có một HomeController trong thư mục bộ điều khiển mặc định và sau đó một trong MỖI khu vực không? Nếu vậy, tôi có cần thực hiện (giả sử là có) thay đổi đối với tệp cấu hình của mình để làm cho việc này hoạt động không?
Bất kì sự trợ giúp nào đều được đánh giá cao!