Tôi đang cố gắng sử dụng lớp Domain Route Maarten Balliauw của để ánh xạ tên miền phụ cho các khu vực trong một ứng dụng MVC2 vì vậy mà tôi có URL như:Routing là tìm bộ điều khiển trong các lĩnh vực của tôi, nhưng không phải là quan điểm
http://admin.mydomain.com/home/index
thay vì:
http://mydomain.com/admin/home/index
Cho đến nay, tôi chỉ có một phần thành công. Việc thực thi đang được định tuyến đến bộ điều khiển chính xác trong vùng chính xác, nhưng sau đó nó không thể tìm thấy khung nhìn chính xác. Tôi nhận được lỗi sau:
The view 'Index' or its master was not found. The following locations were searched:
~/Views/AdminHome/Index.aspx
~/Views/AdminHome/Index.ascx
~/Views/Shared/Index.aspx
~/Views/Shared/Index.ascx
Điều này cho tôi biết rằng MVC chỉ tìm kiếm chế độ xem trong thư mục gốc và không phải thư mục lượt xem trong Khu vực. Nếu tôi sao chép chế độ xem từ thư mục chế độ xem của Vùng vào thư mục gốc, trang sẽ hiển thị tốt. Tuy nhiên, điều này hoàn toàn đánh bại mục đích của việc chia APP thành các khu vực.
tôi xác định con đường cho khu vực này như:
public class AdminAreaRegistration : AreaRegistration
{
public override string AreaName
{
get { return "Admin"; }
}
public override void RegisterArea(AreaRegistrationContext context)
{
context.Routes.Add(
"Admin_Default"
, new DomainRoute(
"admin.localhost"
, "{controller}/{action}/{id}"
, new { controller = "AdminHome", action = "Index", id = UrlParameter.Optional }
));
}
}
Tôi đang bối rối là tại sao nó là tìm bộ điều khiển trong phạm vi khu vực tốt, nhưng không phải là quan điểm.
+1 điều này khiến tôi bối rối trong một thời gian dài. Một khi tôi tìm thấy bộ điều khiển chính xác trong khu vực đã được nhấn, nhưng nó đưa ra quan điểm sai, tôi nhanh chóng tìm thấy câu hỏi và câu trả lời của bạn - hoạt động độc đáo. – Marijn