Dưới đây là các bước để tên điều khiển remove từ HomeController
Bước 1: Tạo các hạn chế đường.
public class RootRouteConstraint<T> : IRouteConstraint
{
public bool Match(HttpContextBase httpContext, Route route, string parameterName, RouteValueDictionary values, RouteDirection routeDirection)
{
var rootMethodNames = typeof(T).GetMethods().Select(x => x.Name.ToLower());
return rootMethodNames.Contains(values["action"].ToString().ToLower());
}
}
Bước 2:
Thêm một ánh xạ tuyến đường mới trên bản đồ mặc định của bạn có sử dụng các hạn chế con đường mà chúng ta vừa tạo ra. Tham số chung phải là lớp điều khiển bạn định sử dụng làm bộ điều khiển "Gốc" của bạn.
routes.MapRoute(
"Root",
"{action}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional },
new { isMethodInHomeController = new RootRouteConstraint<HomeController>() }
);
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
Bây giờ bạn sẽ có thể truy cập vào các phương pháp điều khiển ngôi nhà của bạn như sau: example.com/about, example.com/contact
Điều này sẽ chỉ ảnh hưởng đến HomeController. Tất cả các bộ điều khiển khác sẽ có chức năng định tuyến mặc định.
Kiểm tra liên kết sau sẽ giúp [Cách xóa tên bộ điều khiển khỏi url bằng cách sử dụng rout trong MVC] (https://stackoverflow.com/questions/34650332/how-to-remove-the-controller-name-from- the-url-using-rout-in-mvc/34653793 # 34653793). –
XEM CẬP NHẬT 2016 TẠI BOTTOM – niico