Tôi hiện đang làm việc trên một cửa hàng điện tử sử dụng ASP.NET MVC 2.0. Tôi đã nhận được hầu hết nó lên và chạy, nhưng một phần đó là làm phiền tôi đang định tuyến. Tôi muốn điều này:Định tuyến động MVC 2.0 cho tên danh mục trong một cửa hàng điện tử
http://mystore.somewhere/my-category-1/
Cho đến nay tôi đã có thể giải quyết nó bằng cách sử dụng:
routes.MapRoute(
"Category",
"{alias}/{pageNumber}",
new { controller = "Categories", action = "Browse", pageNumber = 1 });
Nhưng điều này bắt quá nhiều hơn chỉ là những gì tôi muốn.
Sau khi đọc qua một số câu hỏi và câu trả lời xung quanh trang web này, tôi tìm thấy một giải pháp thú vị particulary mà sẽ yêu cầu tôi để programatically đăng ký một lộ trình cho từng danh mục của tôi, vì vậy trong bản chất tôi muốn được làm
foreach (var c in Categories)
{
routes.MapRoute(
c.Name,
"{" + c.Alias + "}/{action}/...anything else",
new { controller = "Category", action = "Index" }).RouteHandler = new CateegoryRouteHandler(c);
}
Bạn nghĩ sao? Đây có phải là một ý tưởng tốt? Tôi có lẽ sẽ có khoảng 200 loại, có quá nhiều "tuyến đường" để có trong bảng định tuyến? Bạn có đề xuất giải pháp khác không?
Cảm ơn.
Kính trọng, anze
Rất tuyệt! Điều đó làm việc giống như một sự quyến rũ! Không biết về các ràng buộc tuyến đường. Cảm ơn rất nhiều! –
Xin chào @tvanfosson, những gì về hiệu suất nếu có 50K loại. Theo như tôi biết có một bộ nhớ đệm bảng tuyến đường hoặc một cái gì đó như thế, nhưng trong mọi trường hợp nó kiểm tra từ db. –