2013-04-05 71 views
12

Tôi đang sử dụng ASP.NET MVC 4 và tôi gặp một số vấn đề khi thiết lập tuyến đường của mình. bạn có thể nói với tôi như thế nào để thiết lập tuyến của tôi chỉ url để hành động như sau:Định tuyến có và không có tên bộ điều khiển trong ASP.NET MVC 4

  • "/" (hoặc "/ Start") => PublicController.Start()
  • "/ Về" => PublicController.About()
  • "/ MyPage" (hoặc "/ MyPage/Tóm tắt") => MyPageController.Summary()
  • "/ MyPage/Hóa đơn" => MyPageController.Invoices()
  • "/ MyPage/Invoice/72 "=> MyPageController.Invoice (int id)

Đó là url "/ Giới thiệu" gây rối mọi thứ cho tôi, tức là url không chỉ định trình điều khiển. Nếu tôi làm cho một trong những công việc những người khác mà chỉ định điều khiển ngừng làm việc. Tôi chỉ có thể tạo ra một bộ điều khiển riêng biệt cho "/ Giới thiệu" tôi đoán, nhưng tôi không muốn nếu tôi không phải (tôi có nhiều url sau mô hình đó).

Trả lời

28

Điều này nên làm điều đó:

routes.MapRoute(
    name: "About", 
    url: "About", 
    defaults: new { controller = "Public", action = "About" } 
); 

routes.MapRoute(
    name: "MyPageSummary", 
    url: "MyPage", 
    defaults: new { controller = "MyPage", action = "Summary" } 
); 

routes.MapRoute(
    name: "Default", 
    url: "{controller}/{action}/{id}", 
    defaults: new { controller = "Public", action = "Start", id = UrlParameter.Optional } 
); 
Các vấn đề liên quan