Wednesday, September 25, 2013

Chuyển hướng đi từ localhost/Index sang localhost/Controller/Index

Cái này là cơ bản thôi, ghi lại trên blog cho nhớ ^^
Khi mình tạo 1 empty project Mvc, mặc định là chưa có Index view. Mình tạo thêm 1 cái Controller để thực hiện tính toán. Giờ mình muốn cái Index View của Controller đấy là Index View mặc định thì làm thế nào?
Giống như các Template Project, khi mình gõ http://localhost:4091/ nó sẽ hiểu là http://localhost:4091/Home/Index ấy

Hướng giải quyết như sau:
Khi ta gõ một URL vào trình duyệt, ứng dụng MVC sẽ sử dụng các quy tắc định tuyến (routing rules) được định nghĩa ở tập tin Global.asax để phân tích URL và xác định đường dẫn của controller
Ta vào file Global.asax, để ý cái hàm RegisterRoutes, nếu nó không được định nghĩa ở đây thì chọn Go To Definition..
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}

Sửa cái Home thành cái Controller mình muốn mặc định.