Có bạn có thể sử dụng một lớp học phần - trình biên dịch chỉ kết hợp tất cả chúng lên một thời gian biên dịch để tạo ra một.
Tuy nhiên, bạn đề cập đến bạn muốn 'phân phối' mã - nếu mã là để đi vào nhiều dự án thì partials sẽ không giúp đỡ. Thay vào đó bạn có thể tạo các lớp bộ điều khiển cơ sở (kế thừa từ System.Web.Mvc.Controller
trong một dự án thư viện lớp, với các phương thức hành động cần thiết, và sau đó chỉ cần sử dụng định tuyến để định tuyến các url tương tự đến các bộ điều khiển khác nhau. Tôi hightly khuyên bạn nên xem xét thông qua phần còn lại của hướng dẫn nếu có những khía cạnh cốt lõi khác của MVC bạn không chắc chắn về nó.Không bao gồm tất cả mọi thứ, nhưng nó làm những điều cơ bản. sau đó, bạn có thể tạo các điểm mở rộng thông qua các phương thức ảo, vv nếu có các phần tử của những báo cáo này mà các ứng dụng web khác nhau có thể cần phải tùy chỉnh.
Vì vậy "Reports/Customers"
thể đường đến một CustomerReportsController
và "Reports/Orders"
thể đường đến một OrdersReportsController
:
routes.MapRoute("CustReports",
"Reports/Customers/{action}",
new { controller = "CustomerReports", action = "Index", id = "" });
routes.MapRoute("OrderReports",
"Reports/Orders/{action}",
new { controller = "OrdersReports", action = "Index", id = "" });
Đây là phương pháp đơn giản nhất cho vấn đề này - nhưng tôi nghĩ rằng sử dụng Areas (liên kết là để MSDN hương) sẽ nhất cũng có thể được áp dụng, trong trường hợp đó bạn có thể không cần phải sử dụng định tuyến ở tất cả vì tuyến đường mặc định có thể sẽ làm tất cả.
Nguồn
2012-03-13 09:23:32
+1, ý tưởng hay !! –
@Andras: Tôi có thể có một số mã mẫu hoặc liên kết tham chiếu cho nó không? Tôi chưa bao giờ định tuyến tùy chỉnh nên tôi không có bất kỳ ý tưởng nào về nó. –
@alok_dida đã cập nhật. –