2011-10-03 23 views
8

Gần đây, tôi đã chuyển đổi một phần ứng dụng biểu mẫu web Asp.Net để sử dụng MVC. Chúng tôi vẫn có các phần của ứng dụng trong các biểu mẫu web (các trang .aspx) và sử dụng định tuyến MVC để làm việc với Bộ điều khiển và như vậy. tôi đã thêm một tuyến đường MVC nhưGhi đè danh sách thư mục với định tuyến URL MVC

routes.MapRoute("Users", "Users/{controller}/{action}/", new { controller = "Timesheet", action = "List" }); 

Có một thư mục có tên "Người dùng" có chứa một vài trang aspx chúng ta vẫn sử dụng. Khi tôi nhấn URL http://localhost/Users/ Tôi nhận được danh sách thư mục nội dung của thư mục "Người dùng". Rõ ràng, danh sách thư mục được ưu tiên hơn định tuyến url MVC và điều này có thể bị ghi đè bằng cách sửa đổi cài đặt máy chủ IIS7.

Làm cách nào để ghi đè hành vi này, thông qua thay đổi mã hoặc web.config?

Tài liệu tham khảo:

http://forums.asp.net/t/1251156.aspx/1

http://learn.iis.net/page.aspx/121/iis-7-and-above-modules-overview/

+0

http://www.packtpub.com/article/mixing-asp.net-webforms-and-asp.net-mvc là phương pháp tôi đã sử dụng để thêm MVC vào ứng dụng biểu mẫu web hiện có – prabug

Trả lời

0

Sử dụng ignoreroute này:

routes.IgnoreRoute("{WebPage}.aspx/{*pathInfo}"); 

Niêm yết RegisterRoutes phương pháp

public static void RegisterRoutes(RouteCollection routes) 
     { 
      routes.IgnoreRoute("{resource}.axd/{*pathInfo}");       
      routes.IgnoreRoute("{WebPage}.aspx/{*pathInfo}");    

      //routes.MapPageRoute("users", "users", "~/admin/default.aspx"); 

      routes.MapRoute(
       "Default", // Route name 
       "{controller}/{action}/{id}", // URL with parameters 
       new { controller = "home", action = "index", id = UrlParameter.Optional } // Parameter defaults 
      ); 

     } 

Điều này sẽ loại trừ tất cả các trang có phần mở rộng là ".aspx" khỏi định tuyến.

2

Đặt RouteExistingFiles = true trên RouteCollection chỉ đạt được điều đó. Nó sẽ cho phép ASP.NET MVC xử lý các tuyến đường ngay cả đối với các thư mục hiện có.

+0

Hanselman đã thảo luận vấn đề này tại đây : http://www.hanselman.com/blog/PlugInHybridsASPNETWebFormsAndASPMVCAndASPNETDynamicDataSideBySide.aspx – Kunal

Các vấn đề liên quan