Tôi có một dự án lớn hơn với khoảng 9 bộ điều khiển. Bây giờ ở cuối của dự án thay đổi requeirement url. Làm thế nào để đối phó tốt nhất với tình trạng này - đổi tên các bộ điều khiển dường như chỉ là quá cồng kềnh ... tôi cần phải thay đổi tất cả các liên kết trong servercode và javascriptđổi tên bộ điều khiển asp.net mvc
Trả lời
Vấn đề của bạn có thể được giải quyết bằng cách thay đổi các tuyến đường hiện tại của bạn. Trong global.asax của bạn, bạn sẽ tìm thấy một đoạn mã như thế này
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
Đó ánh xạ URL '/ Controller/Action/Id' đến Controller, Action và Id. Bạn có thể cung cấp các tuyến đường như thế này
routes.MapRoute(
"RefactoredRoute", // Route name
"SomeChangedURLBase/{action}/{id}", // URL with parameters
new { controller = "Controller", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
để định tuyến yêu cầu đến/SomeChangedURLBase ... sẽ được Bộ điều khiển xử lý.
Lưu ý rằng các tuyến đường này phải được đăng ký trước tuyến đường mặc định để tránh các liên kết được tạo trong chế độ xem trỏ đến tuyến đường mặc định và tạo URL cũ.
một điểm tôi nhận ra sau khi triển khai thực hiện điều này: Bên trong trình duyệt của tôi, tôi vẫn thấy các url cũ nếu tôi duyệt thường xuyên ứng dụng, nhưng url mới của tôi được chấp nhận. Bất kỳ cách nào để thay đổi điều này - để các url mới được hiển thị? –
Đây có thể là sự cố với tòa nhà đặt hàng Tuyến đường/ActionLink. Bạn có thể sử dụng RouteLink thay vì ActionLinks để tạo các liên kết. – saintedlama
Nếu bạn đang sử dụng ActionLinks trên các trang của bạn và trỏ chúng đến bộ điều khiển và hành động, nó sẽ sử dụng URL mới nếu nó được đặt trước vị trí cũ trong bộ sưu tập tuyến đường. –
bạn có thể thay đổi các tuyến đường trong global.asax
chỉ cần thay đổi phương pháp RegisterRoutes
tại đây bạn có thể tìm thêm một số thông tin.
http://weblogs.asp.net/scottgu/archive/2007/12/03/asp-net-mvc-framework-part-2-url-routing.aspx
cổ vũ
- 1. thay đổi tên điều khiển quy ước trong ASP.NET MVC
- 2. ASP.NET MVC - Xóa tên bộ điều khiển khỏi URL
- 3. Mảng tên miền điều khiển ASP.Net MVC
- 4. Tại sao bộ điều khiển dựa trên tên ASP.NET MVC?
- 5. ASP.NET MVC: Cấu trúc bộ điều khiển
- 6. Nhiều điều khiển với một Tên trong ASP.NET MVC 2
- 7. Bộ điều khiển không đồng bộ trong ASP.NET MVC
- 8. chuyển từ điển sang bộ điều khiển asp.net mvc
- 9. Đổi tên tên miền ASP.NET MVC
- 10. asp.net mvc Cách kiểm tra bộ điều khiển chính xác
- 11. ASP.NET MVC: Đăng ký bộ lọc hành động mà không sửa đổi bộ điều khiển
- 12. ASP.NET MVC: Nhận tất cả các bộ điều khiển
- 13. Xử lý ngoại lệ trong Bộ điều khiển (ASP.NET MVC)
- 14. Tạo ViewResults ngoài Bộ điều khiển trong ASP.NET MVC
- 15. Mã chia sẻ giữa Bộ điều khiển MVC ASP.NET
- 16. ASP.NET MVC: Cách gửi email html bằng bộ điều khiển?
- 17. ASP.NET MVC chuyển ID trong ActionLink đến bộ điều khiển
- 18. ASP.NET MVC: Nhóm các lớp xung quanh bộ điều khiển
- 19. Cách thay đổi kiểu nội dung trả về trong bộ điều khiển ASP.NET MVC (ActionResult)
- 20. Vòng đời điều khiển ASP.NET MVC
- 21. Mocking Asp.net-mvc Điều khiển ngữ cảnh
- 22. ASP.NET MVC C# Nhận tên bộ điều khiển và hành động trong lớp
- 23. ASP.NET-MVC. Làm thế nào để có được tên bộ điều khiển từ một url?
- 24. Định tuyến có và không có tên bộ điều khiển trong ASP.NET MVC 4
- 25. Định tuyến ASP.NET MVC với bộ điều khiển có tên "PropertiesController"
- 26. Điều khiển lịch biểu cho ASP.Net MVC
- 27. Điều khiển Telerik trong ASP.NET MVC
- 28. ASP.Net MVC - đăng từ bộ điều khiển này sang bộ điều khiển khác (hành động tới hành động)
- 29. Các thông số của bộ điều khiển cho bộ điều khiển không có vùng chứa DI cho ASP.NET MVC
- 30. JAVA Swing MVC - Bộ điều khiển chính?
Bạn cũng có thể xem IIS Url Rewrite – Chandermani
ReSharper6 là một công việc .. –
Cũng lưu ý: bạn có thể sử dụng dấu gạch ngang trong các hành động cần được chỉ định trong url, trong việc xác định các quy tắc đặt tên phương thức C# tôi một thời gian để tìm hiểu điều đó). xem: http://stackoverflow.com/questions/30310/asp-net-mvc-how-do-i-enable-dashes-in-my-urls – Faust